php mysql日期与大于和小于运算符的比较
我在Mysql数据库中使用php进行日期比较时遇到问题。我的日期字段在DATETIME中,我使用下面的查询,但它没有返回正确答案。请帮助我。下面是代码php mysql日期与大于和小于运算符的比较,php,mysql,date,compare,Php,Mysql,Date,Compare,我在Mysql数据库中使用php进行日期比较时遇到问题。我的日期字段在DATETIME中,我使用下面的查询,但它没有返回正确答案。请帮助我。下面是代码 "SELECT * FROM record WHERE Dateincident >= $from AND Dateincident <=$to"; “从记录中选择*,其中Dateincident>=$FROM和Dateincident可能是这样的: SELECT * FROM record WHERE Dateincide
"SELECT * FROM record WHERE Dateincident >= $from AND Dateincident <=$to";
“从记录中选择*,其中Dateincident>=$FROM和Dateincident可能是这样的:
SELECT *
FROM record
WHERE Dateincident BETWEEN <from> AND <to>
首先,必须在日期时间值周围加引号
$sql = "SELECT * FROM record WHERE Dateincident >= '$from' AND Dateincident <= '$to'";
^ ^ ^ ^
现在$from
和$to
的格式应该正确
'YYYY-MM-DD' or 'YYYY-MM-DD HH:NN:SS'
像
这里是演示
<强>边注释<强>考虑使用“强> < /强”,而不是通过用值连接SQL语句来构造查询字符串。
为什么< <代码> $< /COD>引号>代码>从“记录”中选择“*”从“$”和“@”到“事件”之间的事件“
——还有,您是否检查过PHP变量$from
是否存在,MySQL变量@to
是否存在?是的,这两个变量都存在。您可以发布已编译的SQL查询吗?是否有理由认为$from
是PHP变量而@to
是MySQL变量?从代码下面的注释来看,它应该是$to
。直接从约会挑拣人那里得到?您是否考虑过MySQL所期望的格式和卫生处理?请提供更多的信息。错误是什么?错误代码?明确建议使用WHERE BETWEEN
如果不使用准备好的语句,请在替换SQL字符串中的公共派生变量值时使用mysql\u real\u escape\u string()。
$sql = "SELECT * FROM record WHERE Dateincident BETWEEN '$from' AND '$to'";
'YYYY-MM-DD' or 'YYYY-MM-DD HH:NN:SS'
$from = '2013-06-01';
$to = '2013-06-26';