Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么我会得到这个魔法_Php_Mysql_Mysqli - Fatal编程技术网

Php 为什么我会得到这个魔法

Php 为什么我会得到这个魔法,php,mysql,mysqli,Php,Mysql,Mysqli,当我尝试执行mysqli\u num\u rows() 警告:mysqli_num_rows()希望参数1是mysqli_结果,bool在第13行的C:\xampp\htdocs\php\search.php中给出 没有与您的搜索匹配的结果 很可能你的查询失败了。在本例中,mysqli\u查询返回一个布尔值false,而不是mysqli\u结果,如中所述 运行查询后,需要检查错误,如: if ($result = mysqli_query($conn, $sql)) { $queryRe

当我尝试执行
mysqli\u num\u rows()

警告:mysqli_num_rows()希望参数1是mysqli_结果,bool在第13行的C:\xampp\htdocs\php\search.php中给出 没有与您的搜索匹配的结果


很可能你的查询失败了。在本例中,
mysqli\u查询
返回一个布尔值false,而不是mysqli\u结果,如中所述

运行查询后,需要检查错误,如:

if ($result = mysqli_query($conn, $sql)) {
    $queryResult = mysqli_num_rows($result);
} else {
    printf("Error: %s\n", mysqli_error($conn));
}
通过查看您的查询,我发现您缺少最后一个单引号
(也可能是打字错误):


为了避免这种情况,并防止sql注入,您应该使用绑定参数。

查看返回值可能的重复项看起来您的查询失败了。您应该添加一些正确的错误处理以了解原因。请注意,如果不设置defualt字符集,mysqli\u real\u escape\u字符串是不安全的。它位于“安全性:默认字符集”中。必须在服务器级别或使用API函数mysqli\u set\u charset()设置字符集。。或者使用更好的选项准备陈述。这是否回答了你的问题?
if ($result = mysqli_query($conn, $sql)) {
    $queryResult = mysqli_num_rows($result);
} else {
    printf("Error: %s\n", mysqli_error($conn));
}
$sql = 
    "SELECT * 
     FROM posts 
     WHERE 
         a_title LIKE '%$search%' 
         OR a_text LIKE '%$search%'
         OR a_author LIKE '%$search%'
         OR a_date LIKE '%$search%";