Добавление одинарных кавычек в результаты MySQL с иногда, но не всегда

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

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

После добавления надстрочных знаков String выглядит следующим образом в базе данных. По какой-то причине обратные слеши не всегда вставляются.

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

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

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

Случай 2: без аддлаша

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

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

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

1 ответ

Решение

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

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

Вот и все. Насколько я знаю, не нужно использовать addlashes и stripslashes.

Это также поддерживает Emoji в благодарность

Другие вопросы по тегам