我试图通过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
,lattitue
,longitute
) VALUES (kllk
,kl
,9458
,6568
)failed: (1054)'字段列表'中未知列'kllk'
谢谢,帮助是非常感激!
在字符串常量值周围使用真正的撇号('
),而不是反引号(`
) -它们用于在查询中转义保留字。MySQL现在认为你想从一个名为kllk
的字段获得Code
的值,而不是字符串kllk
,因为你似乎想要。
切中要害,替换为:
VALUES ( `' . $_GET['code'] . '`
:
VALUES ( ''' . $_GET['code'] . '''
对其他值重复此操作。在此之后,请确保您阅读了参数化查询,将其中的值连接起来并不是好的做法,并且可能会打开一些令人不快的安全漏洞。