看到过有的代码
$sql = "insert into table_a (id,v_1,v_2) values('".id."','".$v1."','".$v_2."')";这样写的
id字段是整形的 也加上‘’
有木有好处 ?
同时 对于sql语句中有‘ 符号的 外层我就只能用“ 了但是”的效率低
怎么办?

解决方案 »

  1.   

    检查是否有变量,是php做的事,与mysql无关。
      

  2.   

    $sql = "insert into table_a (id,v_1,v_2) values('".id."','".$v1."','".$v_2."')";
    我说的是你的代码中。你那是连接一个变量,用单引号也用解析$v1d的。
    像这样的"$id" 效率就会低点。
      

  3.   

    水区版主怎么来PHP这里了...
    我一般是直接把变量写在双引号中得
    $sql = "insert into table_a (id,v_1,v_2) values($id,'$v1','$v_2')";
      

  4.   

    按照标准应该加。
    加上的好处就是增加代码的防御能力。如果有人进行SQL注入,因为单引号的存在,他写的就不管用了。
    坏处就是写多了,至少字节数增多了。