Я не знаю, что не так с этим запросом. Я получаю сообщение об ошибке. Может, пожалуйста, кто-нибудь расскажет мне об этом.
$this->db->where("ac.booking_date", $booking_date);
$this->db->where(''.$booking_date .' NOT BETWEEN ac.booking_date AND ac.end_date', null, false);
A Database Error Occurred
Error Number: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '10:00 NOT BETWEEN ac.booking_date AND ac.end_date ORDER BY
ac.idDESC' at line 7SELECT
ac.*,p.first_name,p.last_nameFROManb_crm_bookingsacLEFT JOINanb_crm_users_personal_infopONp.user_id=ac.created_byWHEREac.ac.record_id= '36841' ANDac.booking_date= '2019-05-29 10:00' AND 2019-05-29 10:00 NOT BETWEEN ac.booking_date AND ac.end_date ORDER BYac.idDESCFilename: models/BookingModel.php
Line Number: 245
$this->db->where(" "'.$booking_date .'" NOT BETWEEN ac.booking_date AND ac.end_date", null, false); Исправьте это
Мне нужно проверить предыдущее бронирование, например, с 10:00 до 12:00, так что следующее не должно быть между этим, например, с 11:00 до 1:00.
Пожалуйста, обновите свой вопрос с лучшими разъяснениями или логикой, которую вы хотите, потому что, как мы видим, вы ничего не написали.
сначала отформатируйте дату.
Возможный дубликат использование BETWEEN в условии WHERE






вы забываете кавычки во 2-м WHERE. Замените его следующим кодом
$this->db->where("ac.booking_date", $booking_date);
$this->db->where('"'.$booking_date .'" NOT BETWEEN ac.booking_date AND ac.end_date', null, false);
или просто: $this->db->where("$booking_date NOT BETWEEN ac.booking_date AND ac.end_date", null, false);
зачем вам между собой? просто используйте '> < и ='
@Vickel Могу ли я использовать функцию даты с ac.booking или ac.end_date для извлечения только времени.
да, в избранном пишите DATE_FORMAT(ac.booking,'%H:%i:%s')
@Akshay, ты должен задать новый вопрос по этому поводу, в любом случае вот некоторая информация: mariadb.com/kb/en/library/между-и
По логике, если вы сравниваете
booking_dateс датой ввода, то какой смысл использовать второй оператор where?