CodeIgniter - 转义SQL语句

时间:2012-03-05 20:20:33

标签: mysql sql codeigniter escaping

我正在以编程方式生成一个我需要执行的SQL语句,但是它失败了,我认为由于没有正确转义。

SQL似乎是正确生成的,因为我可以从浏览器剪切并粘贴它,它可以从CMD行和PHPMyAdmin正确执行。例如:

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

然后我尝试使用CI执行它:

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

然而它失败了:

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 ,.......

关于我可能出错的地方的任何想法?

非常感谢,Ben。

2 个答案:

答案 0 :(得分:0)

您是否尝试删除列/表名称周围的`字符?

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

答案 1 :(得分:0)

@ adidasadida-感谢您的努力。您的测试让我进一步了解生成代码,我意识到我有一个HTML字符用于显示目的(新行)。这是失败的原因。非常感谢,Ben。