2011-09-17 6 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年9月10日午後6時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

@ジョン:はい、これですか? http://stackoverflow.com/questions/7457950/php-mysql-date-comparsion –

答えて

0
$result = mysql_query($query) or die(mysql_error()); 

をあなたが何であるかを知るために必要なエラーが得られます間違って

あなたのケースでは、あなたは日付を引用符を忘れてしまった

この1つが優れている、おそらく

$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' ... 
関連する問題