-1

MySQLi を介して MySQL テーブルに何かを挿入しようとしていますが、エラー 1054 Unknown Column がスローされ、値の 1 つが自分の列であるというエラーが表示されます。このエラーの原因がわかりません。ここに私のコードがあります:

$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'

ありがとう、助けていただければ幸いです!

4

1 に答える 1

1

'バッククォート ( ) ではなく、文字列定数値の前後に実際のアポストロフィ ( )`を使用します。これらは、クエリで予約語をエスケープするために使用されます。MySQL は現在、文字列ではなくCode名前付きのフィールドから値を取得したいと考えています。kllkkllk

要するに、次のように置き換えます。

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

と:

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

他の値についてもこれを繰り返します。その後、パラメータ化されたクエリを読んでください。値を連結することは良い方法ではなく、厄介なセキュリティの悪用につながる可能性があります。

于 2013-05-26T23:33:25.657 に答える