Как вставить запись с помощью функции MySQL NOW () в MySQLi с помощью bind_param? - PullRequest
7 голосов
/ 29 февраля 2012

Мне нужно выполнить этот запрос mysql в MySQLi PDO с параметром bind в PHP:

mysql_query("INSERT INTO `posts` (post_name,publish_date) VALUES ($post_name,NOW()) ")

Я использую такой скрипт, но он неправильно вставляет publish_date.

$publish_date = 'NOW()';
$insert = $mysqli->prepare("INSERT INTO posts (post_name,publish_date) VALUES (?,?)");
$insert->bind_param("ss", $post_name $publish_date);
$insert->execute();

Вставляет запись в столбец publish_date следующим образом: 0000-00-00 00:00:00Как я могу это сделать ?Заранее спасибо.

PS: тип столбца даты: datatime.

Ответы [ 2 ]

27 голосов
/ 29 февраля 2012

Это не параметр запроса, так как вам не нужно указывать значение для MySQL.

$insert = $mysqli->prepare("INSERT INTO posts (post_name, publish_date) VALUES (?, NOW())");
2 голосов
/ 29 февраля 2012

Возможно, вам следует попробовать использовать функцию даты, а не СЕЙЧАС ()

$publish_date =date("Y-m-d H:i:s");
$insert = $mysqli->prepare("INSERT INTO posts (post_name,publish_date) VALUES (?,?)");
$insert->bind_param("ss", $post_name $publish_date);
$insert->execute();
...