[英]CodeIgniter standard code query is not returning result same like phpmyadmin result
我在数据库中使用codeignitor框架和mysql,但是我的问题是CodeIgniter标准代码查询没有返回类似php myadmin的结果。
我的PHP代码是:
$this->db->select('e_s_i.id as mnxmnxmcv, e_s_i.description aswoieurowieur');
$this->db->where('t_b_z.zone_niscode', $nis_code);
$this->db->join('tb_bldginstallerdetails b_i_d','b_i_d.installerdetails_companyid = e_s_i.id', 'left');
$this->db->join('installer_zoning i_z', 'i_z.companyid = b_i_d.installerdetails_companyid', 'left');
$this->db->join('tb_bldgzone t_b_z', 'i_z.zone = t_b_z.zone_zone', 'left');
$query = $this->db->get('erit_service_installer e_s_i');
$this->print_pre($query->row_array());exit;
我执行后,结果如下:
Array
(
[mnxmnxmcv] => 13
[aswoieurowieur] => Advanced Systems Communication Sdn Bhd
)
但是当从php打印我的sql查询时:
SELECT `e_s_i`.`id` as mnxmnxmcv,
`e_s_i`.`description` as aswoieurowieur
FROM (`erit_service_installer` e_s_i)
LEFT JOIN `tb_bldginstallerdetails` b_i_d ON `b_i_d`.`installerdetails_companyid` = `e_s_i`.`id`
LEFT JOIN `installer_zoning` i_z ON `i_z`.`companyid` = `b_i_d`.`installerdetails_companyid`
LEFT JOIN `tb_bldgzone` t_b_z ON `i_z`.`zone` = `t_b_z`.`zone_zone`
WHERE
`t_b_z`.`zone_niscode` = 'tifaw'
在phpmyadmin上执行,结果输出是不同的:
mnxmnxmcv woieurowieur
41 Uniiii Streamiii Enterpriseq
请让我知道,如何获得相同的结果
谢谢
MySql显然没有得到相同的查询。
首先在测试时通过在PHP中对$ nis_code进行硬编码开始,这样您就知道它与普通sql查询中的相同。
您是从相同的数据库中选择还是混合使用环境而冷选择?
如果仍然得到不同的数据; 删除所有左联接,并仅从“主”表中选择。 一次添加一个连接,直到得到差异,然后在这里再次询问何时可以指出错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.