代碼:爲什麼mysql_num_rows在空表上爲SELECT返回1?
$review = mysql_query("SELECT conceptID, MIN(nextReview) FROM userconcepts WHERE userID='$userID'");
$nrows = mysql_num_rows($review);
echo "$nrows<br />\n";
當表中有這樣的條目,並返回正確的列值的查詢工作。但是,當表格爲空時,我現在可以在HeidiSQL中確認,mysql_num_rows仍然返回1,但列值爲空。 (如果表中有不同用戶標識的其他值,問題仍然存在)。
我希望這個查詢在正常操作期間有時會返回空集,並且我想根據結果的存在採取行動,但是如果它存在,我也想使用結果。任何想法爲什麼這個代碼不工作,因爲我期望它的工作(我希望它返回0,如果表是空的)?
[**請不要在新代碼**中使用'mysql_ *'函數](http://bit.ly/phpmsql)。他們不再被維護[並且被正式棄用](http://j.mp/XqV7Lp)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。 – Kermit 2013-03-03 23:48:09
@AarolamaBluenk如何解決用戶的問題呢? – aaaaaa123456789 2013-03-03 23:48:44
@ aaaaaa123456789這就是爲什麼它不是答案。 – poke 2013-03-03 23:49:19