编码器 where 子句中的数据库内置函数调用



我正在控制器中执行数据库查询,但它显示 0 个结果。如果我在phpMyAdmin上执行查询,那么它会在那里显示结果,但不在 Web 控制器中显示结果。我的查询是:

SELECT * FROM `orders` WHERE DATE(orders.date) = DATE(NOW()-INTERVAL 1 DAY)

在控制器中,我像这样执行它:

$order_notification = $this->db- >where('DATE(orders.date)','DATE(NOW(),INTERVAL 1 DAY)')->get('orders')->result_array();
$total_notifications = count($order_notification);

其中订单是我的数据库表。

我通过将"FALSE"作为我的第三个参数来防止编码点火器添加反引号来解决此问题。

$order_notification = $this->db->where('DATE(orders.date)','DATE(NOW() - INTERVAL 1 DAY)',FALSE)->get('orders')->result_array();

谢谢大家的回复。

另一种经典方法:

$total_notifications = $this->db->query("SELECT COUNT(*) FROM `orders` WHERE DATE(orders.date) = DATE(NOW()-INTERVAL 1 DAY)")->result_array();

相关内容

最新更新