У меня есть массив объектов PHP, которые были сериализованы и сохранены в поле mySQL Blob. Я преобразовал базу данных mySQL в postgreSQL, а в postgres это поле находится в формате ByteA. Я читаю поле с Postgres, используя этот код:Как декодировать это значение ByteA для строкового формата?
SELECT "folderName", "jobInfo"
FROM "jobs"
ORDER BY "folderName" ASC
В MYSQL, что данные пришли в виде строки, которая может быть десериализации. Однако, когда я прочитал данные из Postgres, он приходит в таком виде:
\ x613a31353a7b733a31373a2266696c65466f726d617456657273696f6e223b733a333a22342e30223b733a373a226a6f62 [.....]
Есть ли способ, в PHP или Postgres, декодировать это обратно в сериализованную строку текстовых символов?
UPDATE По желанию, вот код, используемый для первоначального создания поля MySql Blob:
$theJobInfo = serialize($theJobInfo);
And SQL query:
UPDATE `jobs` SET `jobInfo` = theJobInfo
WHERE `folderName` = 'myFolderName'
Если это поле bytea представляет собой объект PHP, как вы знаете, это будет иметь смысл в виде строки символов? –
Показать код, который вы используете, чтобы установить поле в mysql/php изначально. –
Потому что это сериализован. Я сохранял и извлекал эти данные тысячи раз из mySQL, поэтому по этой причине я считаю, что это имеет смысл как строка символов. Я обновил исходное сообщение с кодом PHP/SQL в соответствии с вашим запросом. – VikR