$str = "SELECT id,name FROM table1 WHERE name ='$_SERVER["PHP_AUTH_USER"]' ";$str = "SELECT id,name FROM table1 WHERE name ='$_SERVER[\"PHP_AUTH_USER\"]' ";$str = "SELECT id,name FROM table1 WHERE name ='{$_SERVER["PHP_AUTH_USER"]}' ";这三句的不同吗??就是  "'""'"呵呵~~

解决方案 »

  1.   

    要将数组用在字符串内,必须用复杂花括号 {}
    $str = "SELECT id,name FROM table1 WHERE name ='{$_SERVER['PHP_AUTH_USER']}' ";
      

  2.   

    as it is said by netvt
      

  3.   

    $str = "SELECT id,name FROM table1 WHERE name ='".$_SERVER["PHP_AUTH_USER"]."'";
    可以不?
      

  4.   

    原因楼上都说了,楼主这样写也是可以的$user = $_SERVER["PHP_AUTH_USER"]if (!empty($user)) $str = "SELECT id,name FROM table1 WHERE name = '$user' ";
      

  5.   

    建议
    $str = "SELECT id,name FROM table1 WHERE name ='{$_SERVER['PHP_AUTH_USER']}'";
    这样显得较零乱
    str = "SELECT id,name FROM table1 WHERE name ='".$_SERVER["PHP_AUTH_USER"]."'";{}中的内容将被视为一个整体
      

  6.   

    a ao~~我原来也出现过这个问题,居然解决的办法也和楼主一样,找个变量接收以下,再查询.....不过倒是没有想到追根到底......惭愧....收藏....