如果是 mysqli 或 pdo 可以读空结果集
但你是 mysql 所以只能重新连接数据库

解决方案 »

  1.   

    error_reporting(0);
    require_once("db.php");//此文件位于下面
    //显示表二计算结果
    $query="call score2('PartTwo".$_REQUEST[num]."',@A,@B,@c,@D,@E,@F,@G,@score);";
    $result=executeQuery($query);
    if(!$result) die(mysql_error()); 
    while($r=mysql_fetch_row($result)){
    echo '<font style="color:#0000FF">睡眠质量(A):</font>'.$r[0].'&nbsp&nbsp&nbsp&nbsp&nbsp<font style="color:#0000FF">入睡时间(B):</font>'.$r[1].'&nbsp&nbsp&nbsp&nbsp&nbsp<font style="color:#0000FF">睡眠时间(C):</font>'.$r[2].'&nbsp&nbsp&nbsp&nbsp&nbsp<font style="color:#0000FF">睡眠效率(D):</font>'.$r[3].'&nbsp&nbsp&nbsp&nbsp&nbsp<font style="color:#0000FF">睡眠障碍(E):</font>'.$r[4].'&nbsp&nbsp&nbsp&nbsp&nbsp<font style="color:#0000FF">催眠药物(F):</font>'.$r[5].'&nbsp&nbsp&nbsp&nbsp&nbsp<font style="color:#0000FF">日间功能障碍(G):</font>'.$r[6].'&nbsp&nbsp&nbsp&nbsp&nbsp<font style="color:#0000FF">PSQI总分:</font>'.$r[7].'<br/><br/>';
    }
    mysql_free_result($result);
    //显示表三计算结果
    $query="call score('PartTwo".$_REQUEST[num]."',3,@score);";
    $result=executeQuery($query);
    if(!$result) die(mysql_error()); 
    while($r=mysql_fetch_row($result)){
    echo '<font style="color:#0000FF">SCORE:</font>'.$r[0].'&nbsp&nbsp&nbsp';
    if(($r[0]>6)&&($r[0]<12))
    {
    echo '瞌睡';
    }elseif(($r[0]>11)&&($r[0]<17)){
    echo '过度瞌睡';
    }elseif($r[0]>16){
    echo '有危险性的瞌睡';
    }
    }
    mysql_free_result($result);
    //以下为db.php
    $dbserver="localhost";
    $dbusername="question";
    $dbpassword="questionadmin";
    $dbname="questionnaire";
    $conn=false;
    function executeQuery($query)
    {
    global $conn,$dbserver,$dbname,$dbpassword,$dbusername;
    global $message;
    if (!($conn = @mysql_connect ($dbserver,$dbusername,$dbpassword)))
     $message="Cannot connect to server";
    if (!@mysql_select_db ($dbname, $conn))
     $message="Cannot select database";
    $result=mysql_query($query,$conn);
    if(!$result)
    $message="Error while executing query.<br/>Mysql Error: ".mysql_error();
    else
    return $result;
    }
    function closedb()
    {
    global $conn;
    if(!$conn)
    mysql_close($conn);
    }
      

  2.   

    你只定义了 closedb 函数,并没执行
      

  3.   

    我试过执行closedb(),还是会报错