致命错误:在第768行的C:\ xamp \ htdocs \ project24 \ system \ database \ DB_driver.php中调用boolean上的成员函数num_rows()

时间:2016-06-29 09:32:51

标签: mysql migration fatal-error

亲爱的,当我尝试通过迁移创建表时,我遇到了错误。 我正在关注错误

Fatal error: Call to a member function num_rows() on boolean 
 in C:\xamp\htdocs\project24\system\database\DB_driver.php on line 768

我的代码是:

    if ($query->num_rows() > 0)
    {
        foreach ($query->result_array() as $row)
        {
            if (isset($row['TABLE_NAME']))
            {
                $retval[] = $row['TABLE_NAME'];
            }
            else
            {
                $retval[] = array_shift($row);
            }
        }
    }
    $this->data_cache['table_names'] = $retval;
    $ex=$this->data_cache['table_names'];
    return $ex;
}

第768行

enter image description here

请帮助我摆脱这个错误

1 个答案:

答案 0 :(得分:0)

我认为$ query是发送查询和获取响应的结果。我将用更合适的var名称来解释它:

if($result = connection()->query($query)) $rs = mysqli_fetch_array($result);

好的,此时你在$ rs上有第一行,这里$ rs是否无效并不重要。请记住,如果你使用CREATE语句,mysql引擎将返回void(0 cols)结果,因此php可以将其视为true(如果已创建表)或false(如果不是),因此它是一个布尔值。如果您在那里进行选择,并且想要在循环中执行某些操作,您将按照以下步骤操作:

while ($rs != ''){

//do something with $rs[index];

$rs = mysqli_fetch_array($result);
//to take next row
}
connection()-close();
希望它有所帮助。干杯!