我對(duì)此錯(cuò)誤感到非常困惑,它顯示了當(dāng)我嘗試從不存在的數(shù)據(jù)庫(kù)中返回結(jié)果時(shí)...我嘗試了,mysql_num_rows()但返回的錯(cuò)誤卻是相同的錯(cuò)誤,而不是mysql_fetch_assoc期望中的錯(cuò)誤mysql_num_rows()。我設(shè)置error_reporting(0)避免顯示此錯(cuò)誤,但是我對(duì)這種解決方案不滿意...
3 回答

12345678_0001
TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊
這是做事的正確方法:
<?PHP
$sql = 'some query...';
$result = mysql_query($q);
if (! $result){
throw new My_Db_Exception('Database error: ' . mysql_error());
}
while($row = mysql_fetch_assoc($result)){
//handle rows.
}
請(qǐng)注意(!$ result)上的檢查-如果$ result是布爾值,則肯定為false,這意味著存在數(shù)據(jù)庫(kù)錯(cuò)誤,這意味著查詢可能很糟糕。

慕雪6442864
TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊
您必須檢查mysql_query返回的結(jié)果是否為false。
$r = mysql_qyery("...");
if ($r) {
mysql_fetch_assoc($r);
}
您可以使用@mysql_fetch_assoc($r)以避免錯(cuò)誤顯示。
添加回答
舉報(bào)
0/150
提交
取消