我有一个列名为 DT
的数据库,它有以下值:
1. 16-05-2015
2. 16-05-2015
3. 30-06-2015
4. 30-06-2015
Sql
我正在使用的 php 查询是:
$sql = "Select * from logs WHERE (DT<= '$to') AND (DT>= '$from') ";
我也用过查询:
$sql = "Select * from logs WHERE (DT BETWEEN '$to' AND '$from') ";
这两个查询都没有按照要求以相同的方式运行。
如果 $to=31-05-2015
和 $from = 31 号之前的任何日期,查询也会显示 30-06-2015
日期,但它不在范围内。
当 $to=30-05-2015
时,会显示正确的结果,但选择 30-05-2015
之后的任何日期都不会显示正确的范围,这可能是什么原因是什么原因?
最佳答案
保存到数据库时必须将日期格式更改为yyyy-mm-dd,显示时将其更改为dd-mm-yyyy,并将列的数据类型更改为日期时间才能查询工作
$newdate = date("d-m-Y", strtotime($yourdate));
关于php - php 中的 SQL 查询无法按要求工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30409275/