PHP不从MySQL数据库获取数据

PHP不从MySQL数据库获取数据,php,mysql,Php,Mysql,我正在制作一个评论框,其中 评论框将位于帖子下方 每个评论框都具有与帖子相同的id 这就是为什么我宁愿做while循环的原因 但是,问题是 由于我使用的是fetch\u assoc()方法,因此一些注释表将是空的 我已经为他们做了一个if-else代码 这是我的if-else代码: $select_comment_table = "SELECT * FROM feed_comment_" . $row['id'] . "ORDER BY id"; $result_query_select

我正在制作一个评论框,其中

  • 评论框将位于帖子下方
  • 每个评论框都具有与帖子相同的id
  • 这就是为什么我宁愿做
    while
    循环的原因
但是,问题是

  • 由于我使用的是
    fetch\u assoc()
    方法,因此一些注释表将是空的 我已经为他们做了一个if-else代码
这是我的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>';
echo'


' . $结果选择注释表[“全名”]。'
“。 ' ' . $结果选择注释表[“注释”]。'
' . ''; 回声';
问题:正如您看到的
if-else
代码一样,当没有注释时,php应该回显
没有注释。但是,即使在插入注释之后(我尝试在数据库中手动插入),它仍然显示
没有注释
,而它应该显示注释


注意:我使用的是while循环,这就是为什么每篇文章下面都会出现comment div。

您的查询中似乎缺少一个空格:

$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\u query\u select\u comment\u表始终为false。

在订单之前BY@MihirUjjainwal:在表名称和
顺序
关键字之间。呼出你的SQL文本,你会很快发现它。明白了,这个问题让我困惑了一个多小时。你确定这是真正的问题吗?OP需要通知可能的错误,如果里面有任何MySQL语法错误it@MihirUjjainwal,这解决了你的问题吗?如果有,请接受答案。请显示包含此while循环的代码,否则散文和代码不匹配。谢谢这只是格式不正确的SQL文本。通过简单地回显动态生成的SQL文本,就可以很容易地进行调试;很明显,SQL语句是无效的,因为表名和
ORDER
关键字之间没有空格,看起来
ORDER
是表名标识符的一部分。这就使得关键字
BY
变得很孤独,这就是语法错误。