MySQLi INSERT 语法错误

Posted

技术标签:

【中文标题】MySQLi INSERT 语法错误【英文标题】:MySQLi INSERT Syntax Error 【发布时间】:2013-09-19 04:48:54 【问题描述】:

我的 php 脚本中出现此错误:

注意:您的 SQL 语法有错误;检查与您的 mysql 服务器版本相对应的手册,以在第 1 行 [`NSERT INTO trainings_likes_by_user (id_from_wall, user_name, like, dislike) 附近的“喜欢,不喜欢”附近使用正确的语法VALUES (?, ?, ?, ?)] 在 /hermes/bosoraweb110/b720/ipg.workoutlogappcom/android_connect/update_likes.php5 第 50 行

这是我的查询:

$sql = "INSERT INTO workouts_likes_by_user (id_from_wall, user_name, like, 
dislike) VALUES (?, ?, ?, ?)";

谢谢。

【问题讨论】:

你必须在 ?在将值传递给查询之前。 Syntax error due to using a reserved word as a table or column name in MySQL的可能重复 【参考方案1】:

LIKE 是一个reserved keyword。如果您想在查询中使用它,请将它们包装在反引号中,如下所示:

$sql = "INSERT INTO workouts_likes_by_user 
(id_from_wall, user_name, `like`, dislike) 
VALUES (?, ?, ?, ?)";

当然,最好不要在查询中使用保留关键字,但也可以使用反引号将它们转义。

【讨论】:

以上是关于MySQLi INSERT 语法错误的主要内容,如果未能解决你的问题,请参考以下文章

执行 mysqli_query 时出现 SQL 语法错误

mysqli插入错误语法不正确

Insert into 语句语法错误

INSERT INTO 语句的语法错误

INSERT INTO 语句的语法错误。

INSERT INTO 语句的语法错误