当我将运行此查询时,它将给出一个错误

时间:2014-06-20 20:59:02

标签: mysql

  

您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在第1行的“特定”VALUES('5.jpg','kids','everyone')附近使用正确的语法,

我的查询是

$sql="INSERT INTO imagetable(image,name,specific) VALUES ('$dbimage','$dbname','dbspec')";

2 个答案:

答案 0 :(得分:1)

specific是MySQL中的reserved word。要么使用反引号来逃避它,要么使用其他名称作为列。

INSERT INTO imagetable (image, name, `specific`) 
VALUES ('$dbimage','$dbname','dbspec')

答案 1 :(得分:0)

sql="INSERT INTO `imagetable` (`image`,`name`,`specific`) VALUES ('$dbimage','$dbname','dbspec')";

虽然不是必需的,但最好用`字符包围列名(和表名)。这避免了SQL语言使用的保留字的问题。

您遇到此问题的原因是“特定”是SQL语言的保留关键字。把它想象成试图命名一个变量“if”。由于关键字“if”由编码语言保留,因此您无法执行此操作。它与SQL中的“特定”概念相同。