Mysql cli和phpmyadmin - 给出不同的结果

时间:2017-03-10 08:37:30

标签: php mysql phpmyadmin

我有以下查询:

SELECT `report_table_cottage_rented`.`cottage_id`     AS 
       report_table_cottage_rented___SP___cottage_id, 
       `report_table_cottage_rented`.`cottage_name`   AS 
       report_table_cottage_rented___SP___cottage_name, 
       `report_table_cottage_rented`.`end_time`       AS 
       report_table_cottage_rented___SP___end_time, 
       `report_table_cottage_rented`.`rented_days`    AS 
       report_table_cottage_rented___SP___rented_days, 
       `report_table_cottage_rented`.`rented_weekend` AS 
       report_table_cottage_rented___SP___rented_weekend, 
       `report_table_cottage_rented`.`rented_weeks`   AS 
       report_table_cottage_rented___SP___rented_weeks, 
       `report_table_cottage_rented`.`start_time`     AS 
       report_table_cottage_rented___SP___start_time 
FROM   `report_table_cottage_rented` 
WHERE  1 && ( `report_table_cottage_rented`.`start_time` BETWEEN 
                          '2016-01-01' AND '2016-12-31 23:59:59' )

对我来说似乎很好。

上面的查询通过mysql cli(只有2个结果 - 错误)而不是通过phpmyadmin(5410结果 - 右)运行时给出不同的结果。

当查询通过php内置函数mysql_query()运行时,我得到了同样的错误答案。

我不知道出了什么问题。

1 个答案:

答案 0 :(得分:0)

您的between必须是:BETWEEN '2016-01-01 00:00:00' AND '2016-12-31 23:59:59'。否则mysql将使用实际时间戳,该时间戳会随时间产生不同的结果。

BTW:请勿使用已弃用的mysql_* API。使用mysqli_*PDO