繁体   English   中英

CodeIgniter标准代码查询未返回与phpmyadmin结果相同的结果

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM