Я храню сериализованную таблицу в столбце Mysql. Данные выглядят так:
a: 2: {i: 116; s: 1: "4"; i: 113; s: 1: "6";}
Я пытаюсь извлечь номер, который всегда был помещен раньше ;s:1:"6";
В приведенном выше примере число будет равно 113.
Я запускаю Mysql 5.7, поэтому у меня нет доступа к новым функциям регулярных выражений. Было бы неплохо получить доступ к PREG_CAPTURE и просто написать
PREG_CAPTURE(\'i:([0-9]+);s:1:"6";\', mycolumn, 1)
Но я не могу использовать PREG_CAPTURE, и я застрял. Любая идея?
Используйте substring_index. Попробуй это
SELECT SUBSTRING_INDEX (поле1, '; s: 1: "6";', 1)
;s:1:"6";
В моем примере это было быa:2:{i:116;s:1:"4";i:113
Как извлечь число 113 тогда?