如何查询db并从今天的PHP datetime中选择

I have data inserted into table 'dnt' with colum date being php datetime.

$date = time();// this was inserted into the db as :1481811673
$today =  time();
"SELECT * FROM `dnt` WHERE 'date' = '$today'";

You cannot compare a timestamp with date today as timestamp changes per second so to compare right, you need to convert the timestamp stored in db into a dateformat and then compare that date with today date. You can do it as follows:

$today = date('Y-m-d'); // date today in format - YYYY-mm-dd
//your query
"SELECT * FROM `dnt` WHERE DATE_FORMAT(FROM_UNIXTIME(dnt.date), '%Y-%m-%d') = '$today'";

I hope it helps

This appears to answer your question http://www.tomjepson.co.uk/mysql-select-from-table-where-date-today/

tldr;

SELECT * FROM myTable WHERE DATE(myDate) = DATE(NOW())

Short and simple:

$stmt = "SELECT * FROM `dnt` WHERE 'date' = '".date('Y-m-d')."'";

To work with a timestamp:

$now = new DateTime();
$stmt = "SELECT *
FROM table
WHERE date = '".$now->getTimestamp()."'";

Detail

What the above query does is to SELECT all (*) FROM table dnt WHERE date =

the date() function in PHP returns a certain date based on the parameters you put in. the Y is for the years, the m for the months and the d for the days. So it will become date('Y-m-d') which will return 2010-01-01 for example.

the '". and ."' are to escape the php function so that it will not give you any syntax errors.

Besides what Peter said - the query is incorrect. You are comparing the date string value (date between single quotes) to a timestamp.

$stmt = "SELECT * FROM `dnt` WHERE `date` = '".date('Y-m-d')."'";