CodeIgniter标准代码查询没有返回与phpmyadmin result

时间:2015-11-13 02:15:21

标签: php mysql codeigniter

我正在使用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

请让我知道,如何获得相同的结果

谢谢

1 个答案:

答案 0 :(得分:0)

MySql显然没有得到相同的查询。

首先在测试时通过在PHP中硬编码$ nis_code开始,所以你知道它与普通的sql查询中的相同。

您是从同一个数据库中选择还是冷却了您的环境?

如果您仍然获得不同的数据;删除所有左连接,只选择' master'表。一次添加一个连接,直到找到差异,并在可以确定错误时再次询问。