查询不合法,你把语句贴出来,或者你检查一下SQL语句

解决方案 »

  1.   

    4  $connect_id=mysql_connect($dbserver,$dbusername,$dbpassword);
    5   mysql_select_db($databasename);
    6   if (isset($postid))
    7    {
    8        $result_id=mysql_query("select * from guestbook where 9postid=".$postid,$connect_id);
    10        if ($result_id==false)
    11        {
    12            $error="没有该记录!";
    13        }
    14        else
    15        {
    16            $myarray=mysql_fetch_row($result_id);
    17        }
    18
    19    }
    20    mysql_free_result($result_id);
    21    mysql_close($connect_id);以上代码是Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in D:\Apache2\....\index.php on line 19 的?
    我感觉是数据库表项目的事。感觉代码可能没问题
    大家帮我看一下
      

  2.   

    $result_id=mysql_query("select * from guestbook where postid=".$postid,$connect_id);
    取得的是postid等于变量postid的记录,表中不只一列时,是一个数组。所以后面用mysql_free_result()时出错了,其实可以不用的。mysql_free_result(): 本函数可以释放目前 MySQL 数据库 query 返回所占用的内存。一般只有在非常担心在内存的使用上可能会不足的情形下才会用本函数。PHP 程序会在结束时自动释放。
      

  3.   

    代码有问题,移动第20行到第16行后面
    4  $connect_id=mysql_connect($dbserver,$dbusername,$dbpassword);
    5   mysql_select_db($databasename);
    6   if (isset($postid))
    7    {
    8        $result_id=mysql_query("select * from guestbook where 9postid=".$postid,$connect_id);
    10        if ($result_id==false)
    11        {
    12            $error="没有该记录!";
    13        }
    14        else
    15        {
    16            $myarray=mysql_fetch_row($result_id);
    20            mysql_free_result($result_id); // 只有$result_id有效时才能使用
    17        }
    18
    19    }
    21    mysql_close($connect_id);
      

  4.   

    你没有得到有效的$result_id,说明查询是失败的。检查前面的语句