【问题标题】:Codeigniter - Call to a member function result_array() on boolean - Local setup Installation errorCodeigniter - 在布尔值上调用成员函数 result_array() - 本地设置安装错误
【发布时间】:2020-07-13 08:20:11
【问题描述】:

作为一名学习者,我需要在 codeigniter 方面的帮助。我正在尝试进行本地设置,但它给出了以下错误。

致命错误:在第 1144 行的 xampp\htdocs\test\application\models\Homemodel.php 中的布尔值上调用成员函数 result_array()

return $result = $this->db->get()->result_array();

感谢您的帮助。祝你幸福!!

【问题讨论】:

  • 看起来 $this->db->get() 返回 true 或 false。
  • 谢谢!我是编码新手?你能告诉我我测试的字符串是真还是假,但它显示相同的错误..
  • 对不起。我不知道代码点火器。而且我不确定你为什么选择它来学习。
  • 将我的网站从 WP 切换到 CI 并想学习框架

标签: php codeigniter


【解决方案1】:

CodeIgniter 有很好的文档

访问:https://codeigniter.com/user_guide/database/examples.html

单一结果的标准查询

“此方法返回单个结果行。如果您的查询有多行,则仅返回第一行。结果作为对象返回。”

$query = $this->db->query('SELECT name FROM my_table LIMIT 1');
$row = $query->row();
echo $row->name;

结果数组 "此方法将查询结果作为对象数组返回,失败时返回空数组"

$query = $this->db->query("YOUR QUERY");

foreach ($query->result() as $row)
{
    echo $row->title;
    echo $row->name;
    echo $row->body;
}

【讨论】:

    【解决方案2】:

    尝试替换:

    return $result = $this->db->get()->result_array();
    

    return $this->db->get() ? $this->db->get()->result_array() : [];
    

    命名三元运算符,作用类似于if statement:

    if ($this->db->get()) {} else {}
    

    出现此错误的原因是$this->db->get() 返回一个布尔值(真/假)

    【讨论】:

    • @Sum,不客气,如果它解决了你的问题,你可以接受答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-23
    • 1970-01-01
    • 1970-01-01
    • 2016-06-08
    • 1970-01-01
    • 2017-08-14
    相关资源
    最近更新 更多