#mysql
#mysql
Вопрос:
как я могу получить отдельные значения из записи, подобной этой:
O:8:"stdClass":10:
{s:4:"mime";s:10:"image/jpeg";s:4:"size";s:6:"238062";s:7:"storage";s:9:"FSStorage"; s:3:"uri";s:26:"kat_bild_mountainbikes.jpg";s:8:"filename";s:26:"kat_bild_mountainbikes.jpg";s:5:"width";s:4:"1000";s:6:"height";s:3:"595";s:3:"alt";s:0:"";s:5:"title";s:0:"";s:8:"settings";s:0:"";}
Я хочу получить путь к изображению, там. Каков наилучший и быстрый способ сделать это?
Комментарии:
1. Вот почему вы не должны
serialize()
размещать данные в таблице.2. Предположительно, самым быстрым способом было бы
unserialize()
Ответ №1:
ДЕЙСТВИТЕЛЬНО плохая идея попытаться сделать это с помощью SQL…
Но если структура сериализованной информации всегда одинакова, вы «могли» бы использовать substring_index …
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(<column>, '"',6),'"',-1) AS Image_Path
FROM `<table>`
Просто замените <column>
и <table>
соответствующими именами…