2015-02-11 59 views
-1

我正在做一個評論框獲取數據,其中PHP不是從MySQL數據庫

  • 評論框將在日誌中
  • 每一個評論框具有相同的ID後有
  • 這就是爲什麼我要較受歡迎的鏈接做while循環

但是,問題是

  • 由於我使用的是fetch_assoc()方法,一些評論表將是空的,以便 我已經做了,如果他們

這裏其他的代碼是我的if else代碼:

$select_comment_table = "SELECT * FROM feed_comment_" . $row['id'] . "ORDER BY id"; 
$result_query_select_comment_table = $dbc->query($select_comment_table); 
if(!$result_query_select_comment_table) { 
    $result_select_comment_table = array("full_name" => "", "comment"=> "No comments yet."); 

} 
else { 
    $result_select_comment_table = $result_query_select_comment_table->fetch_assoc(); 
} 

如果其他代碼需要:

echo '<div id="feed_comment_box_' . $row['id'] . '"' . 'class="feed_comment_box_cl"><div id="add_comment_id" class="add_comment_cl"> 
<form class="comment_form" method="post" action="' .$_SERVER['PHP_SELF'] . '"> 
<input name="comment_full_name" type="text" class="input_comment_full_name"> </input> 
<textarea name="input_comment_text" type="text" class="input_comment_text" ></textarea><input name="comment_submit" type="submit"></input> <br> 
</form> 
</div><br> 
<div id="comment_box_id" class="comment_box_cl"> 
<table tabindex="0" class="comment_box"> 
<tr> <td class="comment_full_name">' . $result_select_comment_table["full_name"] . '</td></tr><br>' . 
'<tr> <td class="comment_full_name">' . $result_select_comment_table["comment"] . '</td></tr><br>' 
. '</table></div></div>'; 
echo '</div>'; 

問題:正如你所看到的if else代碼時,PHP應該呼應no comments yet時,有沒有評論。但是,即使在插入評論(我嘗試手動插入數據庫)後,它顯示no comments yet,而它應該顯示評論

注意:我使用while循環,這就是爲什麼評論div在每篇文章下。

+0

請顯示包含此代碼的代碼,您說您正在使用,否則散文和代碼不匹配。謝謝 – RiggsFolly 2015-02-11 18:58:39

+0

這只是格式錯誤的SQL文本。只需簡單地回顯動態生成的SQL文本即可輕鬆進行調試;很明顯SQL語句是無效的,因爲table_name和'ORDER'關鍵字之間沒有空格,它看起來像'ORDER'是表名標識符的一部分。由於它很寂寞,所以關鍵字「BY」全部出現,這就是語法錯誤。 – spencer7593 2015-02-11 19:02:51

回答

3

它看起來像你錯過了在您的查詢的空間:

$select_comment_table = "SELECT * FROM feed_comment_" . $row['id'] . "ORDER BY id"; 

應該

$select_comment_table = "SELECT * FROM feed_comment_" . $row['id'] . " ORDER BY id"; 

無效查詢造成$ result_query_select_comment_table永遠是假的。

+0

就在ORDER BY – zongweil 2015-02-11 18:58:37

+0

之前@MihirUjjainwal:在table_name和'ORDER'關鍵字之間。迴應出你的SQL文本,你會發現它真的很快。 – spencer7593 2015-02-11 18:59:01

+0

明白了,這個問題讓我迷惑了一個多小時。 – 2015-02-11 19:01:35