使用MySQLi向MySQL数据库插入行

5

有人能发现错误吗:

mysqli_query($connection, "INSERT INTO comments (event_id, fulltext, date_posted) VALUES (5, 'Hallo', 430234)");

连接已建立,但是它无法插入新行。
include("../../connect.php");

$event_id = intval($_GET["event_id"]);
$fulltext = $_GET["fulltext"];
$date = intval($_GET["date"]);

mysqli_query($connection, "INSERT INTO comments ('event_id', 'fulltext', 'date_posted') VALUES (5, 'Hallo', 430234)");

echo "INSERT INTO comments (event_id, fulltext, date_posted) VALUES (5, 'Hallo', 430234)";

mysqli_close($connection);

请分享完整的代码,并且在 mysqli_query 中得到了什么回报?可能您还没有选择数据库? - Muhammad Ummar
好的,我添加了更多的代码,就像我说的那样,连接已经建立并且正确的数据库已经被选择。 - user1734282
加入一些调试!如果 (!mysqli_query($link, "'")) { printf("错误: %s\n", mysqli_error($link)); }或者类似的方式,有很多种方法可以做到。 - Azathoth
1个回答

6

FULLTEXTmysql中的保留字,您不能将其用作列名,请使用以下查询,并在列名周围使用`


mysqli_query($connection, "INSERT INTO comments 
(`event_id`, `fulltext`, `date_posted`) VALUES (5, 'Hallo', 430234)");

1
它显示了什么错误?在 phpmyadmin 中尝试相同的查询。 - Yogesh Suthar
您的SQL语法存在错误,请检查与您的MySQL服务器版本相对应的手册,以获取在第1行附近使用的正确语法:'event_id','fulltext','date_posted') VALUES (5,'Hallo',430234)。 - user1734282
你必须在列名周围使用 `(反引号) 而不是 '(单引号)。 - Yogesh Suthar
@user1734282 你是否已经正确理解并检查过了? - Yogesh Suthar
1
是的,我不能使用变量名full text,因为它是MySQL中的保留字。所以我必须将其放在反引号之间。 - user1734282

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接