亲爱的大家,当我尝试通过迁移创建表时遇到错误。 我收到以下错误:
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
请帮助我摆脱这个错误
最佳答案
我假设 $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/