在mysql客户端中正确执行的查询在PHP/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-&

我一直在试图弄明白为什么在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->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);模具();在你做任何记录之前,看看你是否仍然没有得到任何结果。汤姆:就是这样……记录是在查询之后添加的!汤姆:就是这样……查询后记录被添加了!