为什么这段代码显示所有评论?

时间:2011-07-26 19:41:43

标签: php mysql

我有代码显示评论,但它显示的所有评论不仅仅是相同的评论,也无法解决这个问题。

<?php
$sql = "SELECT * FROM contactnotes,contacts WHERE contactnotes.contacts_id = contacts.ID ORDER BY contactnotes.timestamp DESC" or die('Error: ' .mysql_error());

$result = mysql_query($sql) or die ('Error: ' .mysql_error());

while ($row = mysql_fetch_array($result)){

?>

<table width="950" border="0" cellspacing="0" cellpadding="3">
<tr>
<td align="left" width="100%"><h5><strong><? echo $row['agentassigned']; ?> on <? echo date("F d Y @ h:i:s", strtotime($row['timestamp'])); ?> wrote:</strong></h5></td>
</tr>
<tr>
<br /><td align="left" width="100%"><? echo $row['notes']; ?></td>
</tr>
</table>
<hr/>
<br />

2 个答案:

答案 0 :(得分:2)

我假设您要显示联系人的所有注释,请尝试重写您的查询,如下所示:

"SELECT * FROM contactnotes,contacts WHERE contactnotes.contacts_id = contacts.ID AND contacts.ID = " . mysql_real_escape_string($id) . " ORDER BY contactnotes.timestamp DESC"

答案 1 :(得分:2)

供参考:

$sql = "SELECT * FROM ..... DESC" or die('Error: ' .mysql_error());

你正在进行字符串赋值,而不是MySQL操作。分配不能在PHP中失败,因此永远不会触发or die(),并且它不是MySQL操作,因此即使分配奇迹般地失败,错误消息也将完全错误并且完全没用。