2014-02-21 5 views
0

Первоначально, когда я пытаюсь добавить строку, одинарные цитаты базы данных, используемые для возврата сообщения об ошибке ..Добавление одинарной кавычки в результаты MySQL с 's иногда, но не всегда

Так я добавил addslashes к эта строка перед запросом.

После добавления добавок, String выглядит так в DataBase. По какой-то причине обратная косая черта не всегда вставлена.

enter image description here

Пожалуйста, предложите мне метод обработки цитаты после прохождения этого сценария

case1: Использование Addslashes

У меня уже есть огромный код, в котором, если я использую addlashes перед вставкой, я также должен использовать stripslashes после выбора запроса для удаления \ в каждом результат. Это приведет к большим изменениям в моих контроллерах и моделях. Codeigniter.

Вариант 2: Без addslashes

Если я не использует addslashes или mysql_escape моей базы данных оленью кожу позволяет мне хранить одиночные кавычки.

Я изменил кодировку на utf8mb4_general_ci, но до сих пор не использовать .. я также уверен, что кодировка в config.php также содержит utf8mb4 кодовую.

Любые предложения по эффективному методу?

+1

Doesnt CodeIgniter добавить слэш по себе, если вы активные записи? Использовать активные записи могут? –

+0

Подготовленный оператор Statement по умолчанию, если в качестве данных присутствуют любые символы, такие как одинарные кавычки, обратные косые черты и т. Д. Вам даже не требуется вызывать 'mysql_real_escape_string' данные. –

+0

вы можете попробовать $ this-> db-> escape(), $ this-> db-> escape_str(), $ this-> db-> escape_like_str() – Sundar

ответ

0

Я нашел решение, надеюсь, что это будет полезно для других

Update MySql для 5.5.3+ и использование кодировок utf8mb4_general_ci .. Убедитесь , что тип данных LONGTEXT

Это Это. Насколько мне известно, нет необходимости использовать добавочные полосы и стрипы.

Он также поддерживает Emoji Благодаря игровая

 Смежные вопросы

  • Нет связанных вопросов^_^