0

所以 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] 所以是的,我是堆栈溢出的新手。这个问题已经回答了,我只是不知道如何将其标记为已回答...

4

2 回答 2

2

为了将来阅读:如何防止 PHP 中的 SQL 注入?

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

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

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

于 2013-11-09T22:45:57.080 回答
-5

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

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

于 2013-11-09T22:44:47.380 回答