下面这段代码哪里错了阿
$sn=$_SESSION["name"];//赋值sn
$sql="select * from manager where name=$sn";//查询满足name=sn的记录(只有一条) 
$query=mysql_query($sql); 
$nid=mysql_fetch_array($query); echo $nid;//显示记录得到的结果却是
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource 

解决方案 »

  1.   

    是因为你的sql语句查询之后结果集没有记录把,建议你现输出一下$query看看,
    $sql="select * from manager where name=$sn";name如果是字符串的话建议加上单引号。
      

  2.   


    你的语句语法是没有错误,只是这个是运行时的错误。select * from manager where name=$sn这个SQL语句能否查到数据,查不到数据就会出现错误。楼主echo $sql;看看,语句的$sn值是否赋了个正确的值。
      

  3.   

    个人感觉是name=$sn写错了,应该是name='$sn'。你按照2L的先看看echo出来的sql语句是虾米。当然,也有可能是你的$sn没有从session中取到,你也应该跟踪一下看看$sn到底是什么内容。
      

  4.   

    $sql = "select * from `manager` where `name`='$sn'";
    试试
      

  5.   

    实在不行就用print_r夹杀...就那么几句,一会就能定位出错误
      

  6.   

    $sql="select * from manager where name='".$sn."'";
      

  7.   

    楼上正确,是sql语句写错了。sql语句中字符串是要加上''的