[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: mysql 5.7 json & real_escape_string
GET
Привет.

В mysql 5.7 появилось тип поля - json, кто-нибудь работал с ним? Что-то я не могу сообразить при
$a=json_encode("gfg ' efferf");


php автоматически экранирует одинарную кавычку - ' при

"INSERT INTO `tab` (`json`) VALUES ('$a')"


в поле json переменной $a они как бы уже экранированы, но безопасность требует использовать для $a - real_escape_string:

"INSERT INTO `tab` (`json`) VALUES ('".mysqli->real_escape_string($a)."'")


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

Как это работает?

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
killer8080
Цитата (GET @ 13.08.2016 - 11:44)
php автоматически экранирует одинарную кавычку - ' при


json_encode по умолчанию не экранирует одиночные кавычки, они вообще не экранируются, а при JSON_HEX_APOS заменяются кодом \u0027
GET
killer8080

Спасибо.

Я не могу понять, как у меня с`экранировало кавычки. Ну, вопрос снят, уже разобрался.



_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.