отображение экранированных данных [codeigniter] - PullRequest
0 голосов
/ 07 мая 2011

Я сохраняю значения в дБ, используя $this->db->escape();

$this->db->set('last_name',$this->db->escape($lastname1));

это добавляет одинарные кавычки, но я не хочу отображать одинарные в представлениях ... есть ли встроенный способсделать это?

Ответы [ 2 ]

1 голос
/ 07 мая 2011

Если показываются одинарные кавычки, значит, вы, вероятно, избегаете вещей дважды. Я использовал escape без удвоения одинарных кавычек. Если вы посмотрите на http://www.codeignitor.com/user_guide/database/active_record.html,, то увидите, что set автоматически сбрасывается по умолчанию.

set() will also accept an optional third parameter ($escape), that will prevent data from being escaped if set to FALSE. To illustrate the difference, here is set() used both with and without the escape parameter.

Так что вам не нужно звонить escape, и с вами все будет в порядке.

0 голосов
/ 07 мая 2011

Я не знаю, какой класс вы используете, потому что класс MySQLI из PHP не имеет никакой функции escape ().

Но распространенный способ избежать запроса вставки в вашей базе данныхиспользует Подготовленное заявление .

Как я вижу из документации, в этой платформе нет реального подготовленного заявления.Но я нашел это:

$ this-> db-> escape () Эта функция определяет тип данных, так что она может экранировать только строковые данные. Он также автоматически добавляет одинарные кавычки вокруг данных, поэтому вам не нужно :

Вам следует проверить документацию .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...