mysql - fatal error : Call to a member function num_rows() on boolean in C:\xamp\htdocs\project24\system\database\DB_driver. php 第 768 行

标签 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

请帮助我摆脱这个错误

最佳答案

我假设 $query 是发送查询并获取响应的结果。我将用更合适的变量名称来解释它:

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

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

while ($rs != ''){

//do something with $rs[index];

$rs = mysqli_fetch_array($result);
//to take next row
}
connection()-close();

希望有帮助。干杯!

关于mysql - fatal error : Call to a member function num_rows() on boolean in C:\xamp\htdocs\project24\system\database\DB_driver. php 第 768 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38095680/

相关文章:

ruby-on-rails - 在 Ruby on Rails 中重构数据库迁移

java - 迁移java8到java11 : import com. sun.security.auth.module.NTSystem

android - 谷歌地图 - 内存不足异常

php - AWS EC2突然无法连接RDS?

mysql - 如何执行查询以获取最新数据?

ruby-on-rails - Ruby on Rails 迁移——创建新的数据库架构

PHP : Custom error handler - handling parse & fatal errors

ios - 图表/Swift 3.0 - fatal error : Index out of range

mysql - 如何在 PostgreSQL 中仅获取数据库的表名

mysql - Spark MySQL从数据库读取时出错