【问题标题】:Timestamp Comparsion MySQL PHP时间戳比较 MySQL PHP
【发布时间】:2011-09-17 22:15:00
【问题描述】:

我正在尝试将行与当前日期和时间进行比较,

    $curDate = date("Y-m-d H").':00:00';
    $query = "SELECT Id FROM Programacao WHERE Data1 = $curDate OR Data2 = $curDate OR Data3 = $curDate 
    OR Data4 = $curDate OR Data5 = $curDate OR Data6 = $curDate  OR Data7 = $curDate";

    $result = mysql_query($query);   
    if(!$result) {echo 'No program today';}
    while ($row = mysql_fetch_array($result))
    {
        echo $row['Id'];
    }

数据库中的行数据是这样的:“2011-09-10 18:00:00” 但我总是得到:Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result 有什么更正吗?

【问题讨论】:

  • 您的查询有问题。将 echo mysql_error(); 放在您的 mysql_query() 行之后。或者,您可以echo $query; 并尝试自己运行它。
  • 你不是用这样的代码问过一个问题吗?去哪儿了?
  • @Craig A Rodway 是的,就是这样。不知道为什么要为这个问题创建一个新帐户。

标签: php mysql datetime comparison timestamp


【解决方案1】:

您需要在 SQL 中为日期文字加上引号:

"... WHERE Data1 = '$curDat' ..."

生成的 SQL 应该如下所示:

... WHERE Data1 = '2010-12-17 15:00:00' ...

【讨论】:

    【解决方案2】:
    $result = mysql_query($query) or die(mysql_error());   
    

    会给你错误需要知道什么是错的

    在您的情况下,您忘记了日期周围的引号

    这个更好,可能会起作用

    $query = "SELECT Id FROM Programacao WHERE Data1 = '$curDate' OR Data2 = '$curDate' OR Data3 = '$curDate' 
    OR Data4 = '$curDate' OR Data5 = '$curDate' OR Data6 = '$curDate'  OR Data7 = '$curDate'";
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多