如何使用bind_param在MySQLi中使用MySQL NOW()函数插入记录?

时间:2012-02-29 10:13:18

标签: php mysql mysqli sqlbindparameter

我需要在PHP中使用绑定参数在MySQLi PDO中执行这个mysql查询:

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

我怎样才能做到这一点 ?提前谢谢。

P.S:日期栏的类型为datatime

2 个答案:

答案 0 :(得分:27)

它不是查询的参数,因为您不必向MySQL提供值。

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

答案 1 :(得分:2)

可能你应该尝试使用日期功能而不是NOW()

$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();