CodeIgniter - экранированный оператор SQL - PullRequest
0 голосов
/ 06 марта 2012

Я программно генерирую оператор 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 ,.......

Есть мысли о том, где я могу пойти не так?

Большое спасибо, Бен.

Ответы [ 2 ]

0 голосов
/ 06 марта 2012

@ adidasadida- спасибо за ваши усилия. Ваше тестирование заставило меня взглянуть дальше на сгенерированный код, и я понял, что там есть символ HTML для отображения (новая строка). Это было причиной неудачи. Большое спасибо, Бен.

0 голосов
/ 06 марта 2012

Вы пытались удалить символ `вокруг имен столбцов / таблиц?

CREATE TABLE IF NOT EXISTS 1_e6766037c49ccf8cc3f8437c123d6e88
(intId int(11) NOT NULL auto_increment,
twitter_retweet_count TEXT NULL ,......
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...