比较 Codeigniter 和 MySQL 中的两个日期
如何在 Codeigniter 查询函数中获取两个日期之间的值?这是我的模型和示例代码。
function get_promo() {
$today = date('Y-m-d');
$query = $this->db->query('SELECT FROM tbl_event WHERE event_id = $id AND event_startdate <= $today
AND event_enddate >= $today');
return $query;
}
但这不起作用,这是我得到的错误
A Database Error Occurred
Error Number: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM tbl_event WHERE event_id = 36 AND event_startdate <= 2011-06-09 ' at line 1
SELECT FROM tbl_event WHERE event_id = 36 AND event_startdate <= 2011-06-09 AND event_enddate >= 2011-06-09
Filename: C:\xampp\htdocs\hotel\system\database\DB_driver.php
Line Number: 330
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
我认为你需要围绕你的日期进行引用(即“2011-06-08”)。试试这个
如果您的列
event_startdate
和event_enddate
是DATETIME
类型,但您只对日期部分感兴趣,您可以执行 `DATE(event_enddate) 来提取日期部分I think you need qoutes around your date (i.e. '2011-06-08'). try this
If your columns
event_startdate
andevent_enddate
areDATETIME
type but you are only interested in the date part you can do `DATE(event_enddate) to extract the date part我认为您需要使用 date_format(),此链接中的更多信息 http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format。
试试这个代码:
I think u need to user date_format(), more information in this link http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format.
Try this code:
您的查询存在问题,因为它们没有正确转义。要解决此问题,请尝试添加单引号或双引号。
您还可以考虑使用查询绑定或Active Record,都是处理查询的简单而安全的方法。 @danneth 的回答在这方面可能会有所帮助。
以下是如何使用绑定和 Active Record 的一些示例根据你的代码。
查询绑定示例
Active Record 示例
将
->result()
或->result_array()
等附加到获取对象或数组中的结果。有关更多信息,请参阅 Codeigniter 数据库用户指南。There are issues with your queries because they are not correctly escaped. To fix this, try adding single or double quotes.
You can also consider using Query Binding or Active Record, both simple and secure methods for handling queries. @danneth answer may be helpful in this regard.
Here are some examples of how to use binding and Active Record based on your code.
Query Binding Example
Active Record Example
Append
->result()
or->result_array()
etc to get the result in an object or array. Look into the Codeigniter Database User Guide for more.您需要使用正确的格式。试试这个:
编辑:您的查询是错误的。这样做:
You need to use the right format. Try this:
EDIT: your query is wrong. Do this: