我试图让我的MySQL表通过MySQLi插入东西,但它抛出错误1054未知列说我的一个值是我的列,我不知道是什么原因导致此错误。这是我的代码:
$mysqli -> query('INSERT INTO `cities` (`Code`, `Name`, `lattitue`, `longitute`) VALUES ( `' . $_GET['code'] . '` , `' . $_GET['name'] . '` , `' . $_GET['lat'] . '` , `' . $_GET['long'] . '` )')
这是输出:
INSERT INTO
cities
(Code
,Name
,lattitue
,longitute
)VALUES(kllk
,kl
,9458
,6568
)失败:(1054) '字段列表'中的未知列'kllk'
谢谢,非常感谢帮助!
答案 0 :(得分:1)
在字符串常量值周围使用真实的撇号('
),而不是反引号(`
) - 这些用于在查询中转义保留字。 MySQL现在认为您希望从名为Code
的字段中获取kllk
的值,而不是您想要的字符串kllk
。
到目前为止,替换:
VALUES ( `' . $_GET['code'] . '`
使用:
VALUES ( \'' . $_GET['code'] . '\'
对其他值重复此操作。在此之后,请确保您在parametrized queries上阅读,将这些值连接在一起并不是一个好习惯,并且可能会打开一些nasty security exploits。