Codeigniter 致命错误:在布尔值上调用成员函数 result()

Posted

技术标签:

【中文标题】Codeigniter 致命错误:在布尔值上调用成员函数 result()【英文标题】:Codeigniter Fatal error: Call to a member function result() on boolean 【发布时间】:2016-06-27 10:38:11 【问题描述】:

我遇到了query 的问题,导致以下错误

php Fatal error:  Call to a member function result() on boolean on line 200

我对其他queries 没有任何问题,但在这个问题上,我必须在query 中执行query,如下所示:

$this->load->helper('date');
$datestring = "%Y-%m-%d";
$time = strtotime('yesterday');
$date= mdate($datestring, $time);

$db = $this->load->database('macs', TRUE);

$query = $db->query("SELECT TOP 1 TEMP1.USER AS PACKER, Count(TEMP1.[ORDER]) AS ORDERS FROM (SELECT AUDIT.USER, AUDIT.[ORDER] FROM AUDIT WHERE AUDIT.DATE > '$date' AND (AUDIT.TYPE='I11' Or AUDIT.TYPE =' 11') GROUP BY AUDIT.DATE, AUDIT.TYPE, AUDIT.USER, AUDIT.[ORDER]) AS TEMP1 GROUP BY TEMP1.USER ORDER BY Count(TEMP1.[ORDER]) DESC");

return $query->result();
$macsdb->close();

这在访问中正常工作(上面是访问查询的转换)。当任何引用 USER 的东西被删除时,query 开始工作(但是不正确)。这可能是什么原因造成的?

【问题讨论】:

【参考方案1】:

mysql 不支持TOP 子句

如果您想获得 TOP 1 记录,您可以使用这样的查询

SELECT * FROM table_name ORDER BY field_name DESC LIMIT 1

【讨论】:

啊!我忘了添加(并错误地放置了 MySQL)。但是数据库是一个优势数据库。已编辑第一篇文章(对此感到抱歉)

以上是关于Codeigniter 致命错误:在布尔值上调用成员函数 result()的主要内容,如果未能解决你的问题,请参考以下文章

PHP:致命错误:未捕获的错误:在布尔值上调用成员函数 execute() [重复]

函数不起作用:PHP 致命错误:在布尔值上调用成员函数 bind_param()

在布尔值上调用成员函数 attach() - Laravel

Codeigniter:对未定义函数 mysqli_init() 的致命错误调用

codeigniter 致命错误:调用未定义的方法 CI_DB_odbc_driver::update()

在 [重复] 中调用布尔值上的成员函数 execute()