CodeIgniter db->查询在SELECT上返回false

时间:2013-08-09 21:11:23

标签: php mysql codeigniter

这个特殊的应用程序已经使用了一年多,并且使用了几十个模型,而且我只遇到了这个特殊的新功能。

public function get_slides($promo = NULL) {

    $sql = "SELECT description as alt, image, link
    FROM " . CONFIG_DATABASE . ".slides
    WHERE active = '1' AND acct_no = '" . API_ACCT . "' ORDER BY priority ASC;";

    $query = $this->db->query($sql);

    var_dump($sql);
    var_dump($query);

    return $query->result_array();

}

结果如下:

string 'SELECT description as alt, image, link
        FROM web_config_development.slides
        WHERE active = '1' AND acct_no = '10001' ORDER BY priority ASC;' (length=143)
boolean false

其次是:

  

致命错误:在非对象

上调用成员函数result_array()

查询在MySQL Workbench中运行正常。在我搜索这个问题时,我遇到了一些文档,它们引用了INSERT和DELETE的真/假响应,但没有引用SELECT。

这没有任何意义......如果你有任何想法,分享它们将不胜感激。

3 个答案:

答案 0 :(得分:0)

问题是表权限。应用程序用户未添加到新表中。

答案 1 :(得分:0)

  

如果使用 result_array()那么首先会检查查询中的行数

if($query->num_rows()>0){
   return $query->result_array();  
}else {
   return 0; 
}

答案 2 :(得分:-1)

我相信你正在调用错误的方法来获得结果。

试试这个

return $query->result();

有关Codeigniter活动记录的详细信息,请转到here