没清楚?
我现在有一条很复杂的sql语句,为什么在PHP不能返回记录,把sql放到MYSQL查询分析里执行是有记录返回的。请问会有什么原因?

解决方案 »

  1.   

    $result=mysql_query($sql);
    $record=array();
    if($result){
                while($row = mysql_fetch_array($result)){
                    $record[] = $row;
                }
    }sql语句是一个复杂的,这里就不写出来了,直接mysql查询分析里执行是正确的以上用count($record)为什么是0
      

  2.   

    顶啊,是不是sql语句和php以及mysql之间有什么差异?
      

  3.   

    你这代码一点问题都没有啊,那么问题真的就有可能出现在$sql上了。
      

  4.   

    是的呀,其他查询也是用这一点代码的,都正常
    开始也想是sql语句出问题,但是我把sql放查询分析里直接运行是正确的,而且有记录
      

  5.   

    在查询分析器里和在PHP里不一样吧
    你的$SQL贴出来看看。
      

  6.   

    绝对一样,我在页面用echo $sql;出来然后复制进查询分析里执行,结果是对的
    所以不得解了
      

  7.   

    试下
    if($result){
                while($row = mysql_fetch_array($result)){
                    $record[] = $row;
                }
    }
    =====>
    if($result){
                while($row = mysql_fetch_array($result)){
                    $record[] = $row;
                }
    }
    else{
       echo "error";
       exit;
    }
    我怀疑$result这里根本没有执行
      

  8.   

    if(mysql_num_rows($result)==0 or mysql_num_rows($result)){
      echo "error";
    }else{
      while($row=mysql_fetch_array($result)){
        $record[]=$rows;
      }
    }用mysql_num_rows看看到底有没有找到东西。只用if($result)只能知道系统有没有执行成功。
      

  9.   

    if(mysql_num_rows($result)==0 or mysql_num_rows($result)==""){
    第一行少打字了。抱歉
      

  10.   

    把mysql_fetch_array换成mysql_fetch_object看看