本帖最后由 peixin229 于 2009-09-13 21:45:50 编辑

解决方案 »

  1.   

    变量名字有点长,用where b1.username='".$valid_user."'替代一下。
      

  2.   

    $sql="select * from user where user_name='$name'";这样是可以的
      

  3.   

      你最好到网上查哈子
    php中单引号和双引号的区别
     " "双引号里面的字段会经过编译器解释,然后再当作HTML代码输出。 ' '单引号里面的不进行解释,直接输出。例如: $abc='my name is tome'; echo $abc //结果是:my name is tom echo '$abc' //结果是:$abc echo "$abc" //结果是:my name is tom 特别在使用MYSQL语句的时候,双引号和单引号的用法让新手不知所措,在这里,举个例子,来进行说明。假设查询条件中使用的是常量,例如: select    *    from    abc_table where user_name='abc'; SQL语句可以写成: SQLstr = "select    *    from abc_table where user _name= 'abc'" ; 假设查询条件中使用的是变量,例如: $user_name = $_ ... 
      

  4.   

    不错
    $valid_user = "abcd";
    echo '$valid_user'; //out $valid_user
    但是
    echo "'$valid_user'";//out 'abcd'你的 $query 是一个双引号括起的串,php 自然要对其中的变量赋值了
      

  5.   

    我的习惯是:
      $sql="select from tbl where aa='{$var}' ";
      pg_query($query);  这样语句中的变量就一目了然