这是我正在考虑的一个简单场景。我有一个从 PHP 对 MySQL 数据库执行的查询。我想检查查询是否返回了任何数据。但是,为了执行该检查,它会提取其中一行返回的数据。
看看这个例子,以及它的评论:
$booksGrabber = ("SELECT * FROM table");
if (!$booksGrabber) {
//Query failed, perhaps a syntax error
exit;
}
if (!mysql_result($booksGrabber, 0)) {
//No data was returned :(
exit;
}
while ($book = mysql_fetch_assoc($booksGrabber)) {
//mysql_result() stole the first row of returned data
//So if I was expecting the loop to display 4 results,
//I only get 3...
}
如何在不运行两个查询(一个用于检查,另一个用于显示所有数据)或其中一个行被盗的情况下检查数据是否从数据库返回?