大家好。为什么这样写的sql语句不行呢?我是用asp.net连接mysql的,mysql在空间服务器上的。

txworld 2013-03-05 11:54:46
string sql = string.Format("select count(1) from userInfo where name='{0}'", userName);
为什么name='{0}'不能加引用?只能这样写name={0},这样写不报错,但得到的结果就不正确了,一加单引号就报错了。

报这样的错!!!

...全文
140 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
txworld 2013-03-06
  • 打赏
  • 举报
回复
引用 4 楼 still_melody 的回复:
这个userName里面是什么内容


txworld 2013-03-06
  • 打赏
  • 举报
回复
js代码里传过来的。



still_melody 2013-03-06
  • 打赏
  • 举报
回复
这个userName里面是什么内容
txworld 2013-03-06
  • 打赏
  • 举报
回复
txworld 2013-03-06
  • 打赏
  • 举报
回复
引用 1 楼 still_melody 的回复:
string sql = string.Format("select count(1) from userInfo where name={0}", "'"+userName+"'");


谢谢你,但是这样写,还是报和上面一样的错。

  • 打赏
  • 举报
回复
为什么要拼接sql语句呢?这样效率不高,也容易被注入,sqlserver使用@,mysql使用?,oracle使用: 使用参数替换,安全呐。
风吹腚腚凉 2013-03-06
  • 打赏
  • 举报
回复
string sql = string.Format("select count(1) from userInfo where name='{0}'", userName); SqlParameter sp = new SqlParameter("?NickName", SqlDbType.VarChar, 50); sp.Value = strNickName; return SqlHelper.ExecuteDataRow(transaction, CommandType.Text, "SELECT * " + "FROM A WHERE Name=?NickName;", sp); 这样写就行了,你那么写可以被SQL注入
kiwill 2013-03-06
  • 打赏
  • 举报
回复
1、先如7楼所说,测试一下固定值,如果这样没错,说明有可能之前你传进来的值有问题,没转义或者存在单引号之类的问题。 2、如8楼所说,打好断点,找到传入得sql语句,这个语句看一下应该就会知道问题出在哪了。 3、为什么不干脆试试: string sql = "select count(1) from userInfo where name='" + userName.Replace("'","''") + "'"; 4、我觉得吧,你的userName里面肯定有单引号,而且可能有两个,才出现了这个问题...注意看传进去了什么值
追梦人1120 2013-03-06
  • 打赏
  • 举报
回复
name='{0}'改为name={0}
polk6 2013-03-06
  • 打赏
  • 举报
回复
加个断点,取出已替换好的sql语句,放数据库上运行此sql语句
追梦人1120 2013-03-06
  • 打赏
  • 举报
回复
改成固定的值先试一下,比如"张三"。查出结果在替换,注意转义
still_melody 2013-03-05
  • 打赏
  • 举报
回复
string sql = string.Format("select count(1) from userInfo where name={0}", "'"+userName+"'");

62,269

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧