MySQL now()在数据库中

时间:2013-06-06 19:46:47

标签: php mysql phpmyadmin

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

这是我的代码:

<?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行'列'日期'的现在选择

4 个答案:

答案 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。