我有一个 while 循环遍历 sql 数据库中的所有行。在循环内部,我打印了行的内容,但是当查询返回 0 行时,没有执行该循环内的代码。当找不到任何行时,如何让它运行一些代码?
例子:
$qry = mysql_query("SELECT .......etc");
while ( $row1 = mysql_fetch_array($qry)) {
if (empty($row1)) {
echo "Nothing found";
} else {
echo "Found something";
}
}
我遇到的问题是,当 while 什么都不返回时,if 根本不执行。
编辑:我知道我应该使用 mysqli 或类似的
最佳答案
首先,您应该停止使用 mysql_
函数,因为它们已被弃用,并开始使用 mysqli_
函数、MySQLi
类或 PDO
。
要回答您的问题,可以使用 mysql_num_rows
函数返回语句返回的行数:
$stmt = mysql_query("SELECT .......etc");
if (!mysql_num_rows($stmt)) {
echo "Nothing found";
} else {
while (/*...*/) {
}
}
关于php - 在 SQL While 循环中找不到行时回显某些内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36353928/