php - 查询结果不会被回显

标签 php mysql function mysqli echo

我有一个函数。在该函数中有一个选择查询。另一个查询应返回第一个查询中的结果数。我有这个代码:

    function name ($f){  
     global $db;
     ...
     $results = "SELECT `a` FROM `b` WHERE $where"; 
     $results_num = ($query = mysqli_query($db, $results)) ? mysqli_num_rows($results) : 0; 

     echo $results;
     echo $results_num;
    }

将回显:

SELECT `a` FROM `b` WHERE `keywords` LIKE '%abc%'0 

什么是 $results 而不是 $results_num?我不明白为什么 echo $results_num 不会显示,为什么在 $results 末尾有一个 0 所以如果有人能给我建议来解决这个问题,我真的很感激。非常感谢。

最佳答案

首先,$results_num为零并且正在输出(这就是为什么输出末尾有一个0)。那是因为这段代码是错误的:

$results_num = ($query = mysqli_query($db, $results)) ? mysqli_num_rows($results) : 0; 

稍微分解一下:

$query = mysqli_query($db, $results);
$results_num = $query ? mysqli_num_rows($results) : 0;

第二行实际上应该是:

$results_num = $query ? mysqli_num_rows($query) : 0;

您需要将查询句柄传递给 mysqli_num_rows(),而不是 SQL。

关于php - 查询结果不会被回显,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10264199/

相关文章:

php - mysql_fetch_array 未获取完整数据?

mysql - JOIN 中的多个 COUNT()

javascript - webstorm ctrl-n 用于 JavaScript 函数

javascript - 调用 JavaScript 函数的正确方法是什么?

php - 如何连接远程mysql数据库

php - R 和 PHP 之间的集成

mysql - #1054 - 'tidbitz' 中的未知列 'field list'

c# - Action/Func vs Methods,有什么意义?

php - PHP中的未定义索引_非复合名称

php - 通过引用将参数可移植地传递给 PHP 的 ReflectionMethod::invokeArgs