DRYな備忘録

Don't Repeat Yourself.

INSERT時に Unknown Column とエラーが出る【MySQL】【PHP】

【問題】

INSERT INTO テーブル名 (キー名1、キー名2)VALUES(値1、値2);

の文法に則っているにも関わらず、

Unknown column ' 値1 ' in 'field list'

というエラーが出る。

【原因】

$command ="INSERT INTO member ( key1,key2 ) VALUES (".$_POST['_key1'].",".$_POST['_key2'].")";

とした後、

mysql_query($command);

と処理する際に、

「値1」に相当されるもの(ここでは$_POST['_key1'])が

シングルクオーテーション('    ')で囲まれていなかったため、

column name だと認識されていた。

【解決】

$command ="INSERT INTO member ( key1,key2 ) VALUES ('".$_POST['_key1']."','"$_POST['_key2']."')";

とした。

【つまり】

バリューの部分はSQL文においてクオートで囲まないと、カラム名だと思われちゃうよ、ということすな 

 

 

基礎からのMySQL 改訂版 (基礎からシリーズ)

基礎からのMySQL 改訂版 (基礎からシリーズ)

 
PHPとMySQLのツボとコツがゼッタイにわかる本

PHPとMySQLのツボとコツがゼッタイにわかる本