我在获取数据时添加了时间查询,但它说在 php 中找不到数据

i have add time query while fetching data but it says no data found in php

所以我只想获取今天上传的数据,我在获取数据时添加了 curdate() 但它说找不到数据。我已上传数据,但无法正常工作。 这是我的 php 获取数据的代码。我在将数据上传为 $time = date("F j, Y, h:i a"); 时节省了时间,它在数据库 'August 22, 2017, 07:25 pm'

中有这样的输出

<?php
     require_once 'dbconfig.php';

 $stmt = $DB_con->prepare('SELECT vid, session,time ,views ,name, videoname, image, url FROM video where type = "Video/Trailer" && DATE(`time`) = CURDATE() ORDER BY views DESC LIMIT  8');
 $stmt->execute();
 if($stmt->rowCount() > 0)
 {
  while($row=$stmt->fetch(PDO::FETCH_ASSOC))
  {
   extract($row);
   
   {
$play =  " single.php?vid=$vid";
}
?>

您 运行 遇到了麻烦,因为您将日期存储在非标准字符串中,例如:"August 22, 2017, 07:25 pm"。当您尝试将其转回日期时,数据库无法解析它。尝试:

SELECT DATE('August 22, 2017, 07:25 pm'); // will return NULL 

如果您希望将日期存储为字符串,MySQL 将期望 2017-08-22 19:25:00

SELECT DATE('2017-08-22 19:25:00'); // will return 2017-08-22

因此,如果您想将日期存储为字符串,请更改:

$time = date("F j, Y, h:i a");

$time = date("Y-m-d H:i:s");

但是将日期存储为字符串有严重的局限性。首先,您需要调用上面的 DATE 函数将其转回日期。将日期存储为正确的类型(例如:datetime)会。这将使您能够执行更快的日期操作。

因此,如果可以,请更改 table 列类型,或者更改用于保存日期的字符串格式。