我正在尝试使用以下命令将一些用户输入的数据插入我的MySQL表:
$sql = "INSERT INTO Queued ('$role') VALUES ('$sname')";
有趣的是,我得到以下错误:
错误:INSERT INTO排队(“顶端”)值(“召唤者”) 您的SQL语法有误;检查与您的MariaDB服务器版本相对应的手册以获取正确的语法,以在第1行的“ Tops”)VALUES(“ Summoner”)附近使用
说实话,我在使用PHP和MySQL方面还比较陌生,但是我似乎找不到语法错误。队列表确实存在,$role
和$sname
都是字符串,因此我将它们用单引号引起来。我怀疑这是一个新手错误,有人可以指出我正确的方向吗?
答案 0 :(得分:2)
这是由于在列名周围使用了单引号'
。查询应类似于:
$sql = "INSERT INTO Queued ($role) VALUES ('$sname')";
OR
$sql = "INSERT INTO Queued (`$role`) VALUES ('$sname')";
答案 1 :(得分:0)
尝试这种格式
$sql = "INSERT INTO Queued ('".$role."') VALUES ('".$sname."')";
答案 2 :(得分:0)
的作用是区分内置SQL词和列名,因此,如果将单词用作可能也是内置sql表达式的列名,则需要在其周围加上