php - 在 SQL While 循环中找不到行时回显某些内容

标签 php mysql

我有一个 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/

相关文章:

php - WordPress gzinflate() : data error when debugging

php - Mysql删除表格>表中的行

java - 使用java执行查询时,返回多行时如何验证结果文本?

mysql - 如何正确加入这 4 个表格 View

php - 现在允许使用 CakePHP 中的插件 Authake 执行操作

php - 如何捕捉 fatal error : Maximum execution time of 30 seconds exceeded in PHP

php - 使用 MYSQL ORDER BY 子句,是否可以按自定义顺序对某些字段进行 ORDER BY

php - 尝试获取非对象的属性(CodeIgniter)

php - 使用 git 版本控制进行 PHP 开发

mysql - 如何给MySQL表添加组合约束?