首页 > 解决方案 > 警告:尝试在第 59 行的 C:\xampp\htdocs\Nice Guys\index.php 中读取布尔属性“num_rows”

问题描述

所以,我试着看看这个问题之前是否在这里被问过,但是没有一个问题涉及带有布尔错误的非对象错误。我将添加导致错误的代码行,但如果您需要更多代码以获取更多上下文,请告诉我,我将编辑帖子并添加它。

我基本上是在尝试返回搜索结果,如果结果返回的行数超过 0,我有一个条件 if 语句告诉浏览器返回搜索结果。我返回此错误,我完全不确定原因或原因它。


    $searchSQL = 'SELECT * FROM images WHERE MATCH (appname, firstname, lastname, image) AGAINST ( "' . 
    $search . '" ) LIMIT ' . $offset . ', 10;';

    $searchResult = $db->query($searchSQL);

    //declade the array variable to store the results
    $output = array();


    if ($searchResult->num_rows > 0)
    {
        while ($row = $result->fetch_assoc() )
        {
            //add row to output array in the form of an associative array 
            $output[] = array ("image" => $row["image"], "firstname" => $row["firstname"], "lastname" => 
            $row["lastname"], "appname" => $row["appname"]);
        }//end while
    }//end if

    $db->close();

标签: phpmysqlmysqli

解决方案


尝试

if ($searchResult !== false && $searchResult->num_rows > 0)

mysqli这将避免在返回时遇到布尔错误上的缺失属性false

您甚至可以检查它$searchResult是否为假(或不是布尔值),而不必担心if子句中返回的行数,因为当返回 0 行时它总是为假


推荐阅读