2016-11-19 134 views
-1

日期功能:更新中Where子句不起作用?

$date = "2017-02-02 09:00:00"; 
mysql_query("UPDATE table SET `10` = 5 WHERE `date` = date($date)"); 

該查詢完成,但不添加任何。

WHERE `date` = date($date1); -- this part isn't working 

我想提取的日期部分從$date並插入一些在一排,其中該日期是在一個名爲「日期」欄。

如果我手動操作,如下所示,它可以工作。

UPDATE table SET `10` = 5 WHERE `date` = '2017-02-02' 
+0

1.停止使用已棄用的+ mysql_ *庫,使用'mysqli_ *'或'PDO'以及'prepared statement'。 2.嘗試一次: - 'mysql_query(「UPDATE table SET 10 = 5 WHERE'date' = date('$ date')」);'3。這也是你的專欄名稱'10'?非常差 –

+0

什麼是你的列數據類型?你保存爲日期還是日期和時間?如果列名是「10」,是不是? – Karthi

+0

你對你的查詢有什麼期待?,..(這個查詢不應該更新行)沒有列10 – scaisEdge

回答

1

最有可能是周圍$date缺少的報價,請參閱date()例子。嘗試將其更改爲

WHERE `date` = date('$date1') 

除此之外,你應該在網絡服務器日誌某處得到一個錯誤信息,或在標準錯誤,如果你在命令行中運行它。

+0

嘗試用引號已經不工作了。如果($ query)我檢查 ,並且它返回true,但不會更改數據庫中的值。 –

0
$date1 = "02/02/2017 10:00:00"; 
$dt = new DateTime($date1); 
$date1 = $dt->format('Y-m-d'); 

我提取了這樣的日期。然後,我在MySQL中使用這個日期,而不使用MySQL日期函數,它工作。