PHP在查询字符串中解释MySQL NOW()函数

时间:2013-11-09 22:40:25

标签: php mysql

因此PHP不允许我在我的MySQL查询中使用NOW(),并说" 致命错误:现在调用未定义的函数()"。 我不确定我做错了什么,我发现的所有东西现在都在一个字符串中工作正常。 表'新闻'的表结构: | ID(int,auto-increment)| date(date)| content(text)|

$content = $_POST['content'];
$dbc = mysqli_connect(MOTD_DB_HOST, MOTD_DB_USER, MOTD_DB_PASS, MOTD_DB_NAME);
$query = "INSERT INTO news VALUES (0, NOW(), '$content')";
mysqli_query($dbc, $query);

[编辑] 有趣的是,似乎信息已添加到数据库中。查询正在进行,但也会导致脚本退出并显示错误。

[编辑2] 所以,我是新的堆栈溢出。问题已得到解答,我只是不知道如何将其标记为已回答......

2 个答案:

答案 0 :(得分:2)

将来请阅读:How can I prevent SQL injection in PHP?

对于当前的问题,试试这个:

$q = mysqli_prepare($dbc, 'INSERT INTO news VALUES (0, NOW(), ?)');
mysqli_stmt_bind_param($q, 's', $content);
mysqli_stmt_execute($q);

由于NOW()不应在"内解释,因此您必须在代码中的某处调用now()函数。 某处是您在错误消息中收到的行号。

答案 1 :(得分:-5)

您没有指定值插入的字段。尝试:

  

$ query =“INSERT INTO news(id,time,content)VALUES(0,NOW(),   '$内容')“;