2012-03-05 5 views
0

私はプログラマチックに実行する必要のあるSQL文を生成していますが、失敗していますが、正しくエスケープされていないためです。CodeIgniter - エスケープSQL文

SQLは、ブラウザから切り取って貼り付けて、CMD行とPHPMyAdminから正しく実行できるという点で正しく生成されているようです。例:それはで失敗しかし

$query = $this->db->query($sql); 

CREATE TABLE IF NOT EXISTS `1_e6766037c49ccf8cc3f8437c123d6e88` 
(`intId` int(11) NOT NULL auto_increment, 
`twitter_retweet_count` TEXT NULL ,...... 

私はその後でCIを使用してそれを実行しようと、私は間違っているかもしれないどこに

You have an error in your SQL syntax; check the manual that corresponds to your 
MySQL server version for the right syntax to use near ' 
`twitter_retweet_count` TEXT NULL ,....... 

任意の考え?

多くのおかげで、ベン。

答えて

0

@ adidasadida-あなたの努力に感謝します。あなたのテストでは、生成コードをさらに見て、私はそこに表示用にHTML文字があることを認識しました(改行)。これが失敗の原因でした。多くのおかげで、ベン。

0

あなたは列/テーブル名の周りにある `文字を削除しようとしましたか?

CREATE TABLE IF NOT EXISTS 1_e6766037c49ccf8cc3f8437c123d6e88 
(intId int(11) NOT NULL auto_increment, 
twitter_retweet_count TEXT NULL ,...... 
+0

ちょうど今、それとまだ同じエラーが恐れていることをテストしました。 – Ben

+0

私はcodeigniter 2.1でコードをテストしましたが、エラーが発生していないようです。 (私は 'とsql行を使用し、問題は見られませんでした)どのバージョンのcodeigniterを使用していますか? – adidasadida

+0

@ adidasadida-あなたの努力に感謝します。あなたのテストでは、生成コードをさらに見て、私はそこに表示用にHTML文字があることを認識しました(改行)。これが失敗の原因でした。 多くのおかげで、ベン。 – Ben

関連する問題