десериализацию данных из таблицы MySQL и вывод через php? - PullRequest
2 голосов
/ 02 сентября 2011

Моя таблица wp_usermeta имеет 4 столбца, umeta_id |user_id |meta_key |meta_value Изображение таблицы: enter image description here

Один из столбцов имеет сериализованные данные - wp_s2member_custom_fields.Как я могу десериализовать из mysql или вывода с помощью php, чтобы увидеть все данные моих пользователей в сериализованном столбце?

Вот разбивка сериализованных данных: wp_s2member_custom_fields

a:12:{
s:7:"country";
s:2:"CA";
s:4:"city";
s:8:"Brampton";
s:5:"state";
s:7:"Ontario";
s:8:"zip_code";
s:6:"L6T4E7";
s:3:"age";
s:13:"25–34 years";
s:8:"blog_url";
s:22:"http://www.blog.com";
s:16:"blog_description";
s:106:"A blog about blogging";
s:15:"monthly_uniques";
s:4:"1000";
s:13:"facebook_page";
s:55:"http://www.facebook.com/myfacebookpage";
s:14:"facebook_likes";
s:3:"1428";
s:15:"twitter_account";
s:31:"http://twitter.com/mytwitterpage";
s:17:"twitter_followers";
s:3:"5849";}

Ответы [ 2 ]

1 голос
/ 02 сентября 2011

Получить данные из базы данных и использовать PHP unserialize(). Нет никакого способа сделать это в MySQL (или любой другой БД), и это основная причина, по которой большинство разработчиков предпочитают просто указывать в своих таблицах разделенные запятыми значения.

0 голосов
/ 04 сентября 2011

WordPress хранит массивы / объекты в базе данных путем их сериализации, поэтому обычно вам нужно искать функцию поиска, поскольку она вернет данные в несериализованном виде.

В данном случае это user_metadata , поэтому вам нужно использовать функцию get_user_meta () , которую вы предоставляете для получения параметров $ user_id и $ key.

В вашем примере это будет примерно так:

<?php    
$array = get_user_meta(760, 'wp_s2member_custom_fields');
var_dump($array);



Я надеюсь, что это помогает и имеет смысл ...

Примечание: Кодекс WordPress - это бесценный ресурс!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...