简体   繁体   中英

Retrieve only today records from MySQL database using PHP

In my database I stored date and time as a TIMESTAMP values. I want to retrive only today data from the database. This is code that I tried

$today = date("Y-m-d") . '00:00:00';
$last = date("Y-m-d") . '23:59:59';


$sql = "SELECT id, name, name2,some,some,submittimestamp,some FROM recs where submittimestamp Between $today AND $last";
$result = $conn->query($sql);

But I only get the 0 results message using this. There is more than 100 rows added today.

How can I solve this ? I cant change the database now. only way to solve this is change the PHP script

Do I need to convert PHP datetime to MYSQL timestamp ?

This is my sample database entry time-stamp value

2014-10-02 15:47:01

I only want to retrieve data for one day. time is not required !!

SELECT id, name, name2, submittimestamp 
FROM recs WHERE submittimestamp  > DATE_SUB(CURDATE(), INTERVAL 1 DAY);

Also you may try this, as DATE() ignores time part

SELECT id, name, name2, submittimestamp
FROM recs WHERE DATE(submittimestamp) = CURDATE();

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM