簡體   English   中英

SQL類型NOW()無法正常工作

[英]SQL Type NOW() not working

我有這個查詢;

"INSERT INTO download(download_key, ip, file, expire) VALUES ('".$text."', 
'".$mysql->real_escape_string($_SERVER['REMOTE_ADDR'])."', 
'".$searchQuery['file_match']."', 
'NOW() + INTERVAL 10 MINUTES')"

當我將其插入數據庫時​​,行過期始終是0000-00-00 00:00:00。 我嘗試了以下類型:

  • 時間戳
  • 日期
  • 約會時間
  • 時間

但是始終是00:00:00或00:00:00。

NOW()的正確類型是什么? 我正在使用MYSQL

刪除引號,引號用於字符串

NOW() + INTERVAL 10 MINUTE
"INSERT INTO download(download_key, ip, file, expire) VALUES ('".$text."', 
'".$mysql->real_escape_string($_SERVER['REMOTE_ADDR'])."', 
'".$searchQuery['file_match']."', 
NOW() + INTERVAL 10 MINUTES)"

我要向已經說過的人添加一點東西。

除了您不應該將sql函數作為字符串傳遞之外,不要在引號中使用NOW() + INTERVAL 10 MINUTES ,您還可以為日期傳遞字符串。 例如,您可以使用php生成該日期。

試試這個小提琴來檢查如何將簡單的DATE放入數據庫中: http : //sqlfiddle.com/#!2/cddc1/1

同樣使用PHP,您可以使用以下代碼生成日期:

$minutes = 10;
$date = date('Y-m-d H:i:s', time() + $minutes*60);
$query = "INSERT INTO download(download_key, ip, file, expire) VALUES ('$text', 
'{$mysql->real_escape_string($_SERVER['REMOTE_ADDR'])}', 
'{$searchQuery['file_match']}', 
'$date')";

感謝@Kelu Thatsall:修復:

NOW() + INTERVAL 10 MINUTE

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM