2011-07-26 81 views
1

我有意見顯示的代碼,但它顯示的所有意見不只是那些都是平等的,不明白這一點。爲什麼這段代碼顯示所有評論?

<?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 /> 
+0

等於什麼?沒有where子句。 – Jacob

+0

您是否激活了short_tag語法(<?而不是<?php)? –

+0

'WHERE contactnotes.contacts_id = contacts.ID' – joshua76

回答

2

我假設你正在尋找顯示聯繫人的所有筆記,請嘗試重寫查詢,如下所示:

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

我這樣做,並得到:解析錯誤:語法錯誤,意想不到的T_VARIABLE – joshua76

+0

所以我加了;最後得到了該頁面的工作,但現在沒有評論顯示。 – joshua76

+0

想通了!謝謝!!! – joshua76

2

FYI:

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

你幹得字符串賦值,而不是MySQL操作。分配不能在PHP中失敗,所以or die()永遠不會被觸發,這不是一個MySQL操作,所以即使分配並奇蹟般地出現故障,該錯誤信息是完全錯誤的,完全無用。

+0

這是很好的瞭解,謝謝! – joshua76

相關問題