首页 > 解决方案 > 如何在codeigniter中使用not between子句

问题描述

我不知道这个查询有什么问题。我收到错误。可以请任何人告诉我这件事。

$this->db->where("ac.booking_date", $booking_date); 
$this->db->where(''.$booking_date .' NOT BETWEEN ac.booking_date AND ac.end_date', null, false); 

发生数据库错误

错误号:1064

您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以了解在 '10:00 NOT BETWEEN ac.booking_date AND ac.end_date ORDER BY 附近使用的正确语法acidDESC' 在第 7 行

选择ac.*, p. first_name, p. last_name从左anb_crm_bookings ac加入。anb_crm_users_personal_info p_ = 。在哪里。= 'devid00@Gmail.com' 和. =“36841”和。= '2019-05-29 10:00' 和 2019-05-29 10:00 不在 ac.booking_date 和 ac.end_date 之间订购。DESCpuser_idaccreated_byacemailacrecord_idacbooking_dateacid

文件名:models/BookingModel.php

行号:245

标签: phpmysqlcodeigniter

解决方案


您忘记了第二个 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);

推荐阅读