2012-04-01 8 views
1

私はこれを理解することはできません。すべての変数はOKです。 PHPで実行する前に、SQL文をプリントアウトし...これは、mysql文のエラー

INSERT INTO 'images' ('filename', 'creator', 'date', 'notes') VALUES ('cat.sdf', 'michaelamici', '2002-07-05', 'SDfdddfdffddffdfgs') 

をPHPで実行されるように送られ、まったく同じ文ですありがとうございました!

答えて

5

テーブル/フィールド名を一重引用符で囲みます。あなたはバックティック(または名前に応じて何もしない)でそれを行う必要があります。

INSERT INTO `images` (`filename`, `creator`, `date`, `notes`) VALUES ('cat.sdf', 'michaelamici', '2002-07-05', 'SDfdddfdffddffdfgs') 

ちょうどあなたが興味を持っている場合には、(テーブルやカラム名として使用する場合は引用符で囲む必要があります)予約名のリストはここで見つけることができます:http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html

また、引用符で囲まれていない名前に含まれる文字と引用された名前の一部としてしか見えない文字を確認するには、http://dev.mysql.com/doc/refman/5.5/en/identifiers.htmlを参照してください。

N.B.関連するMySQLバージョンテーブル名やフィールド名の逆引用符に単一引用符を編集

2

テーブル名とフィールド名はバッククォート( `)または引用符で囲まれていない方がよいです。

1
INSERT INTO `images` (`filename`, `creator`, `date`, `notes`) VALUES 
('cat.sdf', 'michaelamici', '2002-07-05', 'SDfdddfdffddffdfgs'); 

てみ