0

我正在尝试将帖子的时间放入我的数据库表中,但我无法让它工作。也许这里有人可以解释我做错了什么。

这是我的代码:

<?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 行的列 'date' 的 'SELECT NOW()'

4

4 回答 4

4

你不必SELECT NOW(),只要NOW()

$add_query = "INSERT INTO $table_name (name, content, date) 
    VALUES ('$message_title', '$message_content', NOW())";

您应该使用带有绑定参数的准备好的语句,使用mysqli_or PDO

于 2013-06-06T19:47:56.687 回答
0

NOW() 是一个 mysql 函数,您不必“选择它”只需调用它即可。

将“SELECT NOW()”替换为“NOW()”。

INSERT INTO $table_name (name, content, date) VALUES ('$message_title', '$message_content', 'NOW()')
于 2013-06-06T19:48:04.763 回答
0

或者你可以使用CURRENT_TIMESTAMP

INSERT INTO $table_name (name, content, date) VALUES ('$message_title', '$message_content', CURRENT_TIMESTAMP);
于 2013-06-06T19:52:44.390 回答
-1

自 PHP 5.5.0 起,Mysql_query 已被弃用。

使用 PDO 或 Mysqli !

并且保护你的代码,我们可以做注入sql。

于 2013-06-06T19:53:42.130 回答