【发布时间】:2017-11-13 12:34:34
【问题描述】:
我想检查是否存在预订。我有入住日期、退房日期和房间号。我尝试了以下查询,但它也提供了所有不属于该房间 ID 的数据。我做错了什么?
$array = array('checkin_date' => $checkin, 'checkout_date' => $checkin);
$array1 = array('checkin_date >' => $checkin, 'checkout_date <' => $checkin);
$array2 = array('checkin_date <' => $checkin, 'checkout_date >' => $checkin);
$array3 = array('checkin_date <' => $checkin, 'checkout_date <' => $checkin);
$array4 = array('checkin_date >=' => $checkin, 'checkout_date <=' => $checkin);
$array5 = array('checkin_date >=' => $checkout, 'checkout_date <=' => $checkout);
$this->db->select('*');
$this->db->from('igc_room_booking');
$this->db->where('delete_status', 0);
$this->db->where('cancel_status', 0);
$this->db->where('room_id', $val->room_id);
$this->db->where($array);
$this->db->or_where($array2);
$this->db->or_where($array3);
$this->db->or_where($array);
$this->db->or_where($array4);
$this->db->or_where($array5);
$bookingss = $this->db->get()->result();
【问题讨论】:
-
什么是
$val? -
你应该回显你的查询并在 phpmyadmin 上检查它
-
您使用的是什么 SQL 版本?你把事情复杂化了,可能在一种情况下就足够了。
标签: php sql codeigniter