因此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] 所以,我是新的堆栈溢出。问题已得到解答,我只是不知道如何将其标记为已回答......
答案 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(), '$内容')“;