我有这个问题;
"INSERT INTO download(download_key, ip, file, expire) VALUES ('".$text."',
'".$mysql->real_escape_string($_SERVER['REMOTE_ADDR'])."',
'".$searchQuery['file_match']."',
'NOW() + INTERVAL 10 MINUTES')"
当我在数据库中插入它时,行到期总是发生在00:00:00。我尝试了类型:
但总是发电机00:00:00或00:00:00。
NOW()的正确类型是什么?我正在使用MYSQL
答案 0 :(得分:3)
删除引号,引号用于字符串
NOW() + INTERVAL 10 MINUTE
答案 1 :(得分:1)
"INSERT INTO download(download_key, ip, file, expire) VALUES ('".$text."',
'".$mysql->real_escape_string($_SERVER['REMOTE_ADDR'])."',
'".$searchQuery['file_match']."',
NOW() + INTERVAL 10 MINUTES)"
答案 2 :(得分:1)
我要给已经说过的人添加一些东西。
除了你不应该将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')";
答案 3 :(得分:1)
感谢@Kelu Thatsall: 修正:
NOW() + INTERVAL 10 MINUTE