2011-09-17 110 views
0

我正尝试在数据库中比较行,与当前的日期和时间,时间戳Comparsion MySQL的PHP​​

$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 任何更正?

+0

某处有问题,您的查询。在你的'mysql_query()'行之后放置'echo mysql_error();'。或者,您可以'echo $ query;'并尝试自己运行它。 –

+0

难道你不只是用这样的代码问一个问题吗?它去了哪里? – JohnD

+0

@JohnD:是的,这是吗? http://stackoverflow.com/questions/7457950/php-mysql-date-comparsion –

回答

0
$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'"; 
1

您需要报价一轮的日期文字在SQL:

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

产生的SQL应该像这样的事情:

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