iT邦幫忙

0

關於php留言板製作,發生錯誤訊息

參考書籍範例做修改,發生了以下錯誤訊息,希望各位可以協助我解決,謝謝
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, bool given in C:\xampp\htdocs\news\show_news.php on line 60

Warning: mysqli_free_result() expects parameter 1 to be mysqli_result, bool given in C:\xampp\htdocs\news\show_news.php on line 83
--------------------------------附上show_news.php程式碼

  //取得要顯示之記錄
  $id = $_GET["id"];
			
  //建立資料連接
  $link = create_connection();
		
  //執行SQL查詢
  $sql = "SELECT * FROM message WHERE id = $id";
  $result = execute_sql($link, "guestbook", $sql);
			
  echo "<table width='800' align='center' cellpadding='3'>";
  echo "<tr height='40'><td colspan='2' align='center'
        bgcolor='#663333'><font color='white'>
        <b>討論主題</b></font></td></tr>";	 
					  
  //顯示原討論主題的內容
  while ($row = mysqli_fetch_assoc($result))
  {
    echo "<tr>";
    echo "<td bgcolor='#CCFFCC'>主題:" . $row["subject"] . " ";
    echo "作者:" . $row["author"] . " ";
    echo "時間:" . $row["date"] . "</td></tr>";				
    echo "<tr height='40'><td bgcolor='CCFFFF'>";
    echo $row["content"] . "</td></tr>";
  }
		
  echo "</table>";		
		
  //釋放 $result 佔用的記憶體空間
  mysqli_free_result($result);

  //執行 SQL 命令
  $sql = "SELECT * FROM reply_message WHERE reply_id = $id";
  $result = execute_sql($link, "guestbook", $sql);
		
  if (mysqli_num_rows($result) <> 0)  //60行的位置,錯誤訊息位置
  {
    echo "<hr>";
    echo "<table width='800' align='center' cellpadding='3'>";
    echo "<tr height='40'><td colspan='2' align='center'
          bgcolor='#99CCFF'><font color='#FF3366'>
          <b>回覆主題</b></font></td></tr>";
						 
    //顯示回覆主題的內容
    while ($row = mysqli_fetch_assoc($result))
    {
      echo "<tr>";
      echo "<td bgcolor='#FFFF99'>主題:" . $row["subject"] . " ";
      echo "作者:" . $row["author"] . " ";
      echo "時間:" . $row["date"] . "</td></tr>";				
      echo "<tr><td bgcolor='CCFFFF'>";
      echo $row["content"] . "</td></tr>";
    }
			
    echo "</table>";			
  }

  //釋放記憶體空間
  mysqli_free_result($result);  //83行,錯誤訊息的位置
  mysqli_close($link);
?>
<hr>
<form name="myForm" method="post" action="post_reply.php">
  <input type="hidden" name="reply_id" value="<?php echo $id ?>">
  <table border="0" width="800" align="center" cellspacing="0">
    <tr bgcolor="#0084CA" align="center">
      <td colspan="2"><font color="white">請在此輸入您的回覆</font></td>
    </tr>
    <tr bgcolor="#D9F2FF">
      <td width="15%">作者</td>
      <td width="85%"><input name="author" type="text" size="50"></td>
    </tr>
    <tr bgcolor="#84D7FF">
      <td width="15%">主題</td>
      <td width="85%"><input name="subject" type="text" size="50"></td>
    </tr>
    <tr bgcolor="#D9F2FF">
      <td width="15%">內容</td>
      <td width="85%"><textarea name="content" cols="50" rows="5"></textarea></td>
    </tr>
    <tr>
      <td colspan="2" height="40" align="center">
        <input type="button" value="回覆討論" onClick="check_data()">   
        <input type="reset" value="重新輸入">
      </td>
    </tr>  
  </table>                   
</form>
jeles51 iT邦研究生 5 級 ‧ 2019-11-27 10:51:50 檢舉
檢查帳密/連線方式/判斷式之類的.
$result = execute_sql($link, "guestbook", $sql);
^^^^^^

看看這個變數的內容吧………
問題已解決,是我自己忘記匯入了另一個sql檔...

感謝各位的回答唷~

2 個回答

1
jeles51
iT邦研究生 5 級 ‧ 2019-11-27 10:55:17
最佳解答

試試吧,有類似的問題有人處理過.

參考來源

0
浩瀚星空
iT邦大師 1 級 ‧ 2019-11-27 12:00:51

其實,我會叫你先把那本書燒了。重新買新的教學重頭來過。

小魚 iT邦大師 1 級 ‧ 2019-11-27 12:09:25 檢舉

我覺得不是書的問題是人的問題,
寫得很好的書也是會有Bug的,
只是應該要自己想辦法去解決它才對.
既然都有錯誤訊息了就應該先去搞懂他在說什麼.
不去找問題在哪一大段貼出來才是問題.

小魚,你要不要先看看他po出來的程式碼後再來說這件事。
先不要說mysql函數不支援的問題。也不要說echo html碼的問題。

也先不要說直接使用自我屬性沒搭配style的問題。

光出現font標簽。就可以讓我覺得可以拿去燒了。

我要發表回答

立即登入回答