不建立在双引号变量内直接写变量.
比如如果你有$a和$ab两个变量时
$sql="...$abcd" 就很容易造成误义.
但用点号连接看起来也麻烦.
PHP手册上提供的解决办法是 $sql="...{$a}bcdefg{$ab}";的方式.
所以.建议良好的编程习惯.双引号内引用变量的.加上{}定界符

解决方案 »

  1.   

    跟SQL没关系,完全是PHP字符串拼接的问题
      

  2.   

    例:
    $sql = "select * from tablename where username = '{$username}'";
      

  3.   

    是的,楼主,加个{}这样更好,比如有一个数组,要输出数组某一个值,例如:$_POST['Example'],那么就一定要加{$_POST['Example']},否则用".$_POST['Example'].";,直接写是不行的,如果是其它的非数组值,直接写就可以
      

  4.   

    楼主忽视一样东西,如果4楼的$username为字符串,非数字,则加上''这样是最好的。(不加也好像可行,但是加最好)
      

  5.   

    这是php连接问题并不是sql语句问题 应该是php的变量引用,当然最好养成好的编程习惯是比较好?