【问题标题】:CodeIgniter SELECT statement wrong resultsCodeIgniter SELECT 语句错误结果
【发布时间】:2019-11-20 01:37:25
【问题描述】:

我的表中有这些数据:

 Data 1: 
 - request_type = 'cash'
 - status = 'Confirmed'
 - personnal_fk = 64
 - amount = 100

 Data 2:
 - request_type = 'maintenance'
 - status = 'Pending'
 - personnal_fk = 64
 - amount = 200

这是我的 CodeIgniter 查询

$this->db->select('*');
$this->db->from('manage_request');
$where = "(status='Confirmed' OR status='Archived')";
$this->db->where('request_type', 'cash');
$this->db->where($where);

我想要的是仅获取 request_type = 'cash' 和 status = 'Confirmed' 或 status = 'Archived' 和 person_fk = 64 中的数据 但 CodeIgniter 返回所有数据。我跑了

$this->db->last_query()

这是查询语句:

SELECT `request_id`, `personnel_fk`, `amount`
FROM `manage_request`
WHERE `personnel_fk` = '64'
AND `request_type` = 'cash'
AND (`status` = 'Confirmed' OR `status` = 'Archived')

会有什么问题?

【问题讨论】:

  • 确定这是相关查询吗?从tbl_name 中选择,查询语句显示manage_request。您有请求类型cash,该查询语句有cash_advance
  • 把查询语句放到mysql中,看看结果是真是假

标签: php mysql codeigniter-3


【解决方案1】:

您忘记添加personnel_fk

$this->db->where('personnel_fk', $personnel_fk);

$this->db->where('personnel_fk', 64);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-22
    • 2010-11-03
    • 2012-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-18
    相关资源
    最近更新 更多