我收到这个错误大约一个小时了,代码点火器上的这个错误是什么
这是我的型号:
我描述了字段的属性太
class news_model extends CI_Model
{
public function __construct()
{
parent::__construct();
$this->load->database();
}
public function get_news($id = false)
{
if ($id === false) {
$query = $this->db->query("SELECT tbl_news.id,
tbl_news.fa_name,
tbl_news.en_name,
tbl_news.fa_shrt_name,
tbl_news.en_shrt_name,
tbl_news.fa_text,
tbl_news.en_text,
tbl_news.image,
tbl_news.grp_id,
tbl_news_grp.fa_name FROM tbl_news JOIN tbl_news_grp ON tbl_news_grp.id = tbl_news.id ");
return $query->result_array();
}
$query = $this->db->get_where('tbl_news',array('id' => $id));
return $query->result_array();
}
}
我得到这个错误:
Fatal error: Call to a member function result_array() on a non-object in
C:'xampp'htdocs'ipkoroosh'application'models'news_model.php on line 19
你的where条件是如何工作的?你没有超过这个条件的查询,而且这两个条件都不会同时运行,所以需要使用else并根据你的改进查询
public function get_news($id = false)
{
if ($id === false) {
$query = $this->db->query("SELECT tblnews.*,tblnewsgrp.* FROM tbl_news tblnews JOIN tbl_news_grp tblnewsgrp ON tblnewsgrp.id = tblnews.id");
return $query->result_array();
}
else {
$query = $this->db->query("SELECT * FROM tbl_news WHERE id = '$id'");
return $query->result_array();
}
}
Result有一个可选的$type参数,它决定返回什么类型的结果。默认情况下($type="object"),它返回一个对象(result_object())。它可以设置为"array",然后它将返回一个结果数组,相当于caling result_array()。第三个版本接受一个自定义类作为结果对象。
/**
* Query result. Acts as a wrapper function for the following functions.
*
* @param string $type 'object', 'array' or a custom class name
* @return array
*/
public function result($type = 'object')
{
if ($type === 'array')
{
return $this->result_array();
}
elseif ($type === 'object')
{
return $this->result_object();
}
else
{
return $this->custom_result_object($type);
}
}
参考:堆栈溢出应答
更改:
return $query->get()->result_array();
而是
return $query->result_array();
尝试使用$this->db->last_query()打印SQL查询;并在mysql控制台上运行查询。SQL查询中可能存在错误。
请检查
请正确检查您的查询,我认为它没有给出结果,所以存在此错误。
用这个检查一下。$query->result();