我正在尝试将帖子的时间放入我的数据库表中,但我无法让它工作。也许有人在这里可以解释我做错了什么。
这是我的代码:
<?php
if (isset($_POST['upload_message'])) {
$message_title = $_POST['message_title'];
$message_content = $_POST['message_content'];
}
$table_name = "posts";
$add_query = "INSERT INTO $table_name (name, content, date) VALUES ('$message_title', '$message_content', 'SELECT NOW()')";
if (mysql_query($add_query)) { //executes query and error check
echo "het artikel staat in de database";
}
else { //error message
echo "fout bij het toevoegen" . "<br />" . mysql_error();
}
?>
这是我的数据库表的屏幕截图:http://gyazo.com/17019f143eab6e5818752c33824bde29
当我运行mysql_error时,会收到以下消息:
日期时间值不正确:'第1行'列'日期'的现在选择
答案 0 :(得分:4)
您不必SELECT NOW()
,只需NOW()
$add_query = "INSERT INTO $table_name (name, content, date)
VALUES ('$message_title', '$message_content', NOW())";
您应该使用带有绑定参数的预准备语句,使用mysqli_
或PDO
。
答案 1 :(得分:0)
NOW()是一个mysql函数,你不必“选择它”只是调用它。
将“SELECT NOW()”替换为“NOW()”。
INSERT INTO $table_name (name, content, date) VALUES ('$message_title', '$message_content', 'NOW()')
答案 2 :(得分:0)
或者您可以使用CURRENT_TIMESTAMP
INSERT INTO $table_name (name, content, date) VALUES ('$message_title', '$message_content', CURRENT_TIMESTAMP);
答案 3 :(得分:-1)
自PHP 5.5.0起,不推荐使用Mysql_query。
使用PDO或Mysqli!
保护你的代码,我们可以做注入sql。