php - php 中的 SQL 查询无法按要求工作

标签 php mysql date

我有一个列名为 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/

相关文章:

javascript - 如何在 javascript 日期中制作完整的一个月?

尝试插入几个值时 PHP/MySQL 语法错误

mysql - mysql存储过程中的参数

从数据库检索时php标签数据不执行

php - mysql查询比较2个日期范围

python - 在特定条件下使用Python时间戳类型的假期库

php - 将 BLOB 插入 Oracle 时出错

php - 正则表达式匹配相似词后的字符串

php - 验证 JSON 是否在 PHP 上具有确定的结构

mysql - 如何使用变量 SQL 获取总和