Спасибо бро
Профи кто работает с БД как вы избегаете таких ошибок?
-
Вообщем сталкиваюсь регулярно, надоело костылить, может есть решения.
Имеем таблицу и когда получаем строку имеем
1:Ivan:Latychev:192.0.1.168:text1:chtototam:id_zapisi
но иногда бывает так что в каком то тексте тоже : или много : и тогда начинаются косяки с распарсиванием и получением значений.
на кавычки тоже парсить смысла нет, потому что не понятно где они будут.вижу такое решение, но костыль же
1:Ivan:Latychev:192.0.1.168:text1:=chtototam=:id_zapisi
и потом парсим по =
можно изгаляться, получать кол-во значений и потом получать предпоследнее... но блин, хочется норм сделать. -
@DrPrime said in Профи кто работает с БД как вы избегаете таких ошибок?:
@kuzkuz при добавлении базу текста с ":" через баз, текст екранируется, и потом действием парсить строку нормально парсится
Экранируется - понятно. Видел. Но это никак не помогает.
Ранее вы строку пилили на : и брали 4й аргумент.
А если вдруг!! @FastSpace , да и такое бывает, добавилось что то до этого аргумента с наличием : то парсинг на : будет некорректным.@FastSpace said in Профи кто работает с БД как вы избегаете таких ошибок?:
@kuzkuz у профи mysql и такой фигни не возникает.
Да, проверять каждое значение перед добавлением в базу. Заменять : на любой символ. Это не профи, это опыт. Я показал конкретную проблему. У меня поле комментария 3е например и туда случайно можно руками записать текст с :.
-
@DrPrime said in Профи кто работает с БД как вы избегаете таких ошибок?:
@kuzkuz всмысле не помогает? я json`ы огромные в базе держу и все гуд
Я же описал пример.
Ну экранируется и что дальше?Ранее вы строку пилили на : и брали 4й аргумент. А если добавилось что то до этого аргумента с наличием : то парсинг на : будет некорректным.Вы же пилили на :, это разделитель полей, верно?
А добавилось что то базу с : и при парсинге получаете несоответствующее значение.
Вообще мне надоело много чего по кругу объяснять, как будто борюсь с ветряными мельницами.
Можете костылить до изнеможения. -
@kuzkuz said in Профи кто работает с БД как вы избегаете таких ошибок?:
Вообще мне надоело много чего по кругу объяснять, как будто борюсь с ветряными мельницами.
Донкихот, кек))
Ты давай не ной и дурачка из себя не строй))
Делай замену ":" на спецсимвол свой перед помещением значения в базу. Потом меняй обратно после парсинга. Пара кубиков - не такой уж и костыль, чтобы истерить по этому поводу.
Тут всё-таки форум по БАСу, а json и SQL это большие темы со своими нюансами и заморочками. Не все так просто именно с темами, а не с БАСом или форумом. -
Делай замену ":" на спецсимвол свой перед помещением значения в базу.
Это я и предложил. На какой спецсимвол ? = \ / | или ? любой из них может случайно руками оказаться вписанным в поле комментария.
Я же описал пример, опять читать не хочешь )
У меня поле комментария 3е например и туда случайно можно руками записать текст с :.
И заголовок прочти у темы ;)
Там озвучен вопрос в виде просьбы поделиться опытом, а не гон на БАС. -
@kuzkuz said in Профи кто работает с БД как вы избегаете таких ошибок?:
Это я и предложил. На какой спецсимвол ? = \ / | или ? любой из них может случайно руками оказаться вписанным в поле комментария.
Можно заменить не на один, а на 2-3 последовательных символа. Вероятность, что встретится такое уже значительно меньше
-
@GameBot идея отличная. Это да, как я и предполагал одно из решений.
но оно не очень, когда то я то коллега в базу вручную вписываем некий контент (комментарии). Что он что я можем случайно в комментарий поставить : просто позабыв и в итоге получим при распарсивании некорректные для нас результаты.
в целом понятно что решений нет.
Прошу тему закрыть , кто может помогите с этой БОЛЬШОЙ проблемой. Спасибо