MySQL error - “You have an error in your SQL syntax”

Deadly 提交于 2019-11-28 13:55:58

Use backticks ` instead of quotes ' to escape names. Quotes are string delimiters.

$toq="INSERT INTO articles (`word`,`group`, `selfnote`) VALUES ('$ttle','$wrdr','$snote')";

You've put quotes on your field names. That forces MySQL to treat them as strings, not field names - and you can't insert into strings.

INSERT INTO articles (word, group, selfnote) VALUES (....);

is the correct syntax. The only quoting type allowed on field names is the use of backticks to escape reserved word fields, e.g.

INSERT INTO articles (table, int, varchar)  ...

would fail due to the use of 3 reserved words, but adding backticks

INSERT INTO articles (`table`, `int`, `varchar`)  ...

makes them acceptable as fieldnames.

You shouldn't quote column names with normal quotes (''), rather, use backticks (``).

You must remove or replace the quotes of the column names by backticks (`). Since "group" is a keyword, you have to use backticks:

INSERT INTO articles (`word`, `group`, `selfnote`) VALUES (....);
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!