MySQL错误1054

时间:2013-05-26 23:31:39

标签: php mysql mysqli

我试图让我的MySQL表通过MySQLi插入东西,但它抛出错误1054未知列说我的一个值是我的列,我不知道是什么原因导致此错误。这是我的代码:

$mysqli -> query('INSERT INTO `cities` (`Code`, `Name`, `lattitue`, `longitute`) VALUES ( `' . $_GET['code'] . '` , `' . $_GET['name'] . '` , `' . $_GET['lat'] . '` , `' . $_GET['long'] . '` )')

这是输出:

  

INSERT INTO citiesCodeNamelattitue,   longitute)VALUES(kllkkl94586568)失败:(1054)   '字段列表'中的未知列'kllk'

谢谢,非常感谢帮助!

1 个答案:

答案 0 :(得分:1)

在字符串常量值周围使用真实的撇号('),而不是反引号(`) - 这些用于在查询中转义保留字。 MySQL现在认为您希望从名为Code的字段中获取kllk的值,而不是您想要的字符串kllk

到目前为止,替换:

VALUES ( `' . $_GET['code'] . '`

使用:

VALUES ( \'' . $_GET['code'] . '\'

对其他值重复此操作。在此之后,请确保您在parametrized queries上阅读,将这些值连接在一起并不是一个好习惯,并且可能会打开一些nasty security exploits