dポイントプレゼントキャンペーン実施中!

XAMPP(winXP、PHP4)を使っています。

Aのテーブルでは

$query= "insert into table (a,b,c,d) values('1','2','3','4')";
$result = mysql_query($query);

でデータが追加されるのに、Bのテーブルでは失敗しました。
今日ずっと何が間違っているのかわからなかったのdですが、

$query= "insert into table (`a`,`b`,`c`,`d`) values('1','2','3','4')";
$result = mysql_query($query);

とすると成功しました。
なぜAのテーブルでは「`」が無くても成功したのに、Bのテーブルでは必要なのでしょうか。

宜しくお願いします。

A 回答 (1件)

テーブルBのカラム名に特殊な文字が入っている。


もしくは、予約語を使っているのではないでしょうか。

参考URLから引用
> 識別子が予約語である場合や、識別子に特殊文字が含まれている場合は、引用符として使用したバッククォート(「`」)文字でその識別子を必ず囲む必要があります。

参考URL:http://dev.mysql.com/doc/refman/4.1/ja/legal-nam …
    • good
    • 0
この回答へのお礼

ありがとうございました。

Bのテーブルには「limit」という予約語を使ってあったことが原因だったようです。
一つ勉強になりました。

お礼日時:2006/04/21 18:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!