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
- 由于我使用的是
方法,因此一些注释表将是空的 我已经为他们做了一个if-else代码fetch\u assoc()
$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
变得很孤独,这就是语法错误。