Php SQL语法错误,查询中没有已知错误

Php SQL语法错误,查询中没有已知错误,php,mysql,mysqli,Php,Mysql,Mysqli,我尝试执行的一个非常简单的SQL查询出现语法错误: INSERT INTO history (character, type, amount, extra) VALUES('$character', '$type', '$amount', '$extra') 以下是表格的设置方式: 它给我的全部错误如下: 您的SQL语法有错误;检查与您的MariaDB服务器版本对应的手册,以了解第1行“字符、类型、金额、额外)值('Ellie'、'Gift'、'-200'、'to Rick')附近使用的正确

我尝试执行的一个非常简单的SQL查询出现语法错误:

INSERT INTO history (character, type, amount, extra)
VALUES('$character', '$type', '$amount', '$extra')
以下是表格的设置方式:

它给我的全部错误如下:

您的SQL语法有错误;检查与您的MariaDB服务器版本对应的手册,以了解第1行“字符、类型、金额、额外)值('Ellie'、'Gift'、'-200'、'to Rick')附近使用的正确语法


我已经检查并再次检查了常见的错误,如表名、拼写错误、列顺序等,但我不知道它仍在检测什么,希望你们中的一位能帮我解决…

字符
是mysql中的一个错误。重命名列或使用反勾号对其进行转义

INSERT INTO history (`character`, type, amount, extra)
VALUES('$character', '$type', $amount, '$extra')

金额为整数并使用撇号。在历史记录(
character
type
amount
extra
)中插入值(“$character”,“$type”,“$amount”,“$extra”),您
amount
列是
整数
类型,这就是它拒绝
-ve
值的原因。将其更改为未签名,然后它就可以工作了。另外,在
字符
周围添加回勾。stackoverflow不会在此处的注释中显示回勾/撇号。实际上,只有
字符
是保留的,而不是
类型
,因此只需勾选前者。我之前做过编辑,添加了“保留”,所以您可能需要分别重新调整;-)太棒了,我只是简单地将该列重命名为characterName,而不仅仅是character,而且效果很好!非常感谢大家!