Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: serialize и значение при регистрации
Форумы портала PHP.SU » » Вопросы новичков » serialize и значение при регистрации

Страниц (1): [1]
 

1. Fetis - 26 Июня, 2014 - 10:44:57 - перейти к сообщению
Всем доброго дня. Вопрос такой: есть в бд значения пример:
s:82:"email1@rambler.ru,email2@yandex.ru,email3@mail.ru,email4@mail.ru"

Как осуществить проверку при регистрации с сериализованным значением из БД?

Пример:
Добавляется в базу значение email1@rambler.ru, происходит поиск: нет ли его нигде в serialize значениях бд, если нет, то добавляет.

Пытался как можно понятней объяснить)

Идея: перед добавлением циклично выбирать все значения из бд, их unserialize, и потом уже сверять каждую запись тоже в этом же цикле, с тем значением, что хотим добавить?

Или же перевести все значения в массив, и сверять уже поиском по массиву?
2. Zuldek - 26 Июня, 2014 - 10:55:48 - перейти к сообщению
правильнее держать данные авторизации в отдельных полях, вот и создайте их пусть хоть и дублируют частично сериализованные данные профиля. Не нужно создавать себе трудности чтобы потом их героически преодолевать.
3. Fetis - 26 Июня, 2014 - 10:57:42 - перейти к сообщению
Zuldek пишет:
правильнее держать данные авторизации в отдельных полях, вот и создайте их пусть хоть и дублируют частично сериализованные данные профиля. Не нужно создавать себе трудности чтобы потом их героически преодолевать.

Хорошо бы это были данные авторизации, дак это просто список всех email адресов у одной организации Улыбка
А создавать отдельную таблицу не хочется, ибо напряжно будет с join'ами всё выбирать, и затратно вроде как.
4. IllusionMH - 26 Июня, 2014 - 12:03:58 - перейти к сообщению
Fetis, а в таком виде не напряжно искать по ним? Не понял И нормальный вариант скорее всего будет быстрее работать в приведенном случае, чем поиск(и в сотни раз быстрее чем unserialize в цикле).
"Вроде как" это не аргумент не сделать. Лучше написать и проверить производительность общую. Сомнительно что будут просады именно из-за этого Радость
В крайнем случае выбирайте регуляркой из сериализованной строки, но это криво.
5. DelphinPRO - 26 Июня, 2014 - 12:17:30 - перейти к сообщению
Fetis пишет:
А создавать отдельную таблицу не хочется, ибо напряжно будет с join'ами всё выбирать, и затратно вроде как.

пффф, так и нужно было сделать...

 

Powered by ExBB FM 1.0 RC1