2013-06-06 4 views
0

Я пытаюсь поместить время публикации в таблицу базы данных, но я не могу заставить ее работать. может быть, кто-то здесь может объяснить, что я делаю неправильно.MySQL now() в базе данных

Это мой код:

<?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 это получить следующее сообщение:

Некорректное даты и времени значение: «SELECT NOW()» для столбца «дата» в строке 1

ответ

4

Вы не должны SELECT NOW(), просто NOW()

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

Вы должны использовать подготовленные заявления с переплетены параметров с помощью mysqli_ или PDO.

+0

Большое спасибо !!!! это сработало! – user2288145

0

СЕЙЧАС() - это функция mysql, вам не нужно «выбирать ее», просто назовите ее.

Заменить «ВЫБРАТЬ СЕЙЧАС()» только для «СЕЙЧАС»().

INSERT INTO $table_name (name, content, date) VALUES ('$message_title', '$message_content', 'NOW()') 
0

Или вы можете использовать CURRENT_TIMESTAMP

INSERT INTO $table_name (name, content, date) VALUES ('$message_title', '$message_content', CURRENT_TIMESTAMP); 
-1

mysql_query является устаревшим PHP 5.5.0.

Использование PDO или Mysqli!

И обеспечьте свой код, мы можем сделать инъекционный sql.

+0

Это не отвечает на вопрос. – bobwienholt

Смежные вопросы