在mysql客户端中正确执行的查询在PHP/CodeIgniter中返回空结果
我一直在试图弄明白为什么在mysql中运行的查询在CodeIgniter中不起作用。代码如下:在mysql客户端中正确执行的查询在PHP/CodeIgniter中返回空结果,php,mysql,codeigniter,Php,Mysql,Codeigniter,我一直在试图弄明白为什么在mysql中运行的查询在CodeIgniter中不起作用。代码如下: $this->db->select('*'); $this->db->from('table'); $this->db->where('table.project_id', $project_id); $this->db->where('table.user_id', $user_id); $q = $this-&
$this->db->select('*');
$this->db->from('table');
$this->db->where('table.project_id', $project_id);
$this->db->where('table.user_id', $user_id);
$q = $this->db->get();
$result = $q->result();
log_message('error', 'error message='.$this->db->_error_message());
log_message('error', 'error number='.$this->db->_error_number());
log_message('error', 'result='.print_r($result, true));
log_message('error', 'last query='.$this->db->last_query());
此服务器上的日志输出如下所示:
ERROR - 2013-09-20 08:53:03 --> error message=
ERROR - 2013-09-20 08:53:03 --> error number=0
ERROR - 2013-09-20 08:53:03 --> result=Array
(
)
ERROR - 2013-09-20 08:53:03 --> last query=SELECT `table`.*
FROM (`table`)
WHERE `table`.`project_id` = '99'
AND `table`.`user_id` = '1927'
在mysql中运行查询时,我得到:
mysql> SELECT `table`.*
-> FROM (`table`)
-> WHERE `table`.`project_id` = '99'
-> AND `table`.`user_id` = '1927';
+------+---------+----------+------------+----------------+
| id | user_id | group_id | project_id | accepted_terms |
+------+---------+----------+------------+----------------+
| 2328 | 1927 | 8 | 99 | 0 |
+------+---------+----------+------------+----------------+
1 row in set (0.00 sec)
如您所见,CI正在构造的查询是有效的,它在mysql客户端中返回一个结果集。但是,查询在CodeIgniter中返回一个空数组。在这个页面上还有很多其他的查询。我一辈子都搞不明白为什么这个查询在CodeIgniter中不起作用?更改这行,然后再试一次:
$result = $q->result();
致:
更改此行并重试一次:
$result = $q->result();
致:
在log_消息条目之后放入一条die语句,再次运行代码,查看手动运行查询时是否仍能看到结果。您看到的代码可能是正确的,而其他地方正在插入数据。在日志消息条目后放入die语句,再次运行代码,然后查看手动运行查询时是否仍能看到结果。您看到的代码可能是正确的,而其他地方正在插入数据。抱歉,没有运气…完全相同的输出。抱歉,没有运气…完全相同的输出。请在没有活动记录的情况下尝试,只是为了调试<代码>$q=$this->db->query('SELECT*从表中,项目id=99,用户id=1927')代码>另外,尝试打印\u r($result);模具();在进行任何日志记录之前,请查看是否仍然没有结果。请在没有活动记录的情况下尝试,只是为了调试<代码>$q=$this->db->query('SELECT*从表中,项目id=99,用户id=1927')代码>另外,尝试打印\u r($result);模具();在你做任何记录之前,看看你是否仍然没有得到任何结果。汤姆:就是这样……记录是在查询之后添加的!汤姆:就是这样……查询后记录被添加了!