MySQL error 1054


MySQL error 1054

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

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

输出如下:

INSERT INTO cities (Code, Name, lattituelongitute) VALUES (kllk, kl, 9458, 6568)failed: (1054)'字段列表'中未知列'kllk'

谢谢,帮助是非常感激!

在字符串常量值周围使用真正的撇号('),而不是反引号(`) -它们用于在查询中转义保留字。MySQL现在认为你想从一个名为kllk的字段获得Code的值,而不是字符串kllk,因为你似乎想要。

切中要害,替换为:

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

:

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

对其他值重复此操作。在此之后,请确保您阅读了参数化查询,将其中的值连接起来并不是好的做法,并且可能会打开一些令人不快的安全漏洞。