2011-02-11 84 views
0

我有很多兩列的表的問題:ID,指明MyDateSQL查詢 - 與間隔

  • 編號是多少;
  • 指明MyDate是日期時間,如:2011-02-10 9時25分02秒

我在這個表10的記錄。 8記錄有ID = 1111和兩個ID = 2222

在數據庫中的兩行:

id   mydate 
2222  2011-02-10 09:25:02 
2222  2011-02-09 18:44:08 

當頁面負載,我想特別檢查我的表中的ID,如果之間的區別這個ID和當前日期的日期是更大然後X天,然後我想更新該記錄。

我嘗試這樣:

$X=1; 

$query = "SELECT id FROM testtable WHERE id='2222' AND mydate > DATE_SUB(NOW(), INTERVAL $X DAY)"; 
$result = mysql_query($query) or die("something went wrong.."); 
$test= array(); 
if (mysql_num_rows($result) > 0) { 
    $i = 0; 
    while($test[$i] = mysql_fetch_array($result)) { 
    $i++; 

    } 
    } 
    echo "the number of rows is:".$i; 

但有了這個$ i是empty.If我改變$ X = 2,那麼我回聲得到2。我不明白。 當前服務器日期爲:2011年2月的週五11日11點41分51秒

回答

1

相反的DATE_SUB(NOW(),使用DATE_SUB(CURDATE()今天去到午夜。

0

在你的餐桌都行是在當前時間的前一天多,所以他們自然將不予退還,當你問行均小於一日齡。我認爲你的錯誤是,你(的人,不是你的代碼)不看那麼預期別的數據的時間一部分。