$ this-> db-> count_all_results的Codeigniter错误结果

时间:2018-09-16 08:10:12

标签: php codeigniter

$this->db->count_all_results('my_table', FALSE);未使用“ SELECT”查询部分。我的CI版本是3.1.9(从2x升级)。 我的查询如下(由$ this-> db-> last_query()生产)

SELECT DISTINCT(mch_id), machineries.* 
FROM `machineries`, `machinery_workcentres` 
WHERE `mch_status` = '1' 
 AND (`mwc_fk_workcentres` = '1' OR `mwc_fk_workcentres` = '4') 
 AND `mwc_status` = '1' 
 AND `mwc_fk_machineries` = `mch_id` 
ORDER BY `mch_name` ASC 

此查询结果总计12行。 但是当我尝试计算与

相同的查询时
$this->db->count_all_results('machineries, machinery_workcentres' , FALSE);

其结果是16并且是incurrect。这是因为查询省略了SELECT部分DISTINCT(mch_id), machineries.*,由$ this-> db-> last_query()返回的查询如下

SELECT COUNT(*) AS `numrows` 
FROM `machineries`, `machinery_workcentres` 
WHERE `mch_status` = '1' 
 AND (`mwc_fk_workcentres` = '1' OR `mwc_fk_workcentres` = '4') 
 AND `mwc_status` = '1' 
 AND `mwc_fk_machineries` = `mch_id` 

0 个答案:

没有答案