max74max74
15.02.2021 - 14:01
Подскажите, пожалуйста, можно ли в таблице MySQL хранить текстовые данные с не закомментированными кавычками, например "Д'артаньян", а не \"Д\'артаньян\"
Ведь если я использую подготовленные запросы, тогда mysqli_escape_string уже не нужна? Так получается?
Получается, что я храню в БД данные "как есть", без экранирования, а их обработкой занимаюсь на выводе из БД?
Valick
15.02.2021 - 14:53
Цитата (max74max74 @ 15.02.2021 - 13:01) |
Подскажите, пожалуйста, можно ли в таблице MySQL хранить текстовые данные с не закомментированными кавычками, например "Д'артаньян", а не \"Д\'артаньян\" |
с чего ты взял, что в БД лежит \"Д\'артаньян\"?
_____________
Стимулятор ~yoomoney - 41001303250491
max74max74
15.02.2021 - 15:29
Получается что экранирование никаких лишних данных не добавляет, оно нужно чтоб отличать некоторые специальные символы (например ' как ограничитель строки) от этого же символа, но как части строки.
А не сломается ли тогда подготовленный запрос через bind_param, если в части строки будет символ ' именно как ччасть троки, а не ограничитель. Ведь mysqli_escape_string я уже не использую?
Метя просто смутил тот момент, что CMS DLE Engine хранит в БД текст с кавычками (как частью строки) ставя перед ними \ Получается \ был добавлен не через mysqli_escape_string, а через addslashes() Тогда получается в таблице данные нужно хранить именно с addslashes(), чтобы разделять где часть строки, а где ограничитель в коде.
Во такое мини-рассуждение у меня получилось. Поправьте, пожалуйста, где я не прав.
max74max74, Вообще смотри как сама DLE работает с данными и повторяй за ней. Хуже ты не сделаешь.
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.