У меня есть сериализованная строка, и я пытаюсь ее не сериализовать, но она становится ложной.
Последовательная строка повторила:
string(175) "a:6:{s:6:"tables";s:9:"8 Tables";s:8:"table_no";s:1:"6";s:6:"chairs";s:6:"Chairs";s:8:"chair_no";s:1:"6";s:12:"round_tables";s:11:"Round Table";s:14:"round_table_no";s:1:"6";}"
Данные в базе данных:
a:6:{s:6:"tables";s:9:"8 Tables";s:8:"table_no";s:1:"6";s:6:"chairs";s:6:"Chairs";s:8:"chair_no";s:1:"6";s:12:"round_tables";s:11:"Round Table";s:14:"round_table_no";s:1:"6";}
код для десериализации данных
var_dump(unserialize($fellowship_data['equipment']));
Данные поступают в пост-запросе перед сериализацией и сохраняются в базе данных
["equipment"]=>
array(7) {
["tables"]=>
string(9) "8' Tables"
["table_no"]=>
string(1) "6"
["chairs"]=>
string(6) "Chairs"
["chair_no"]=>
string(1) "6"
["round_tables"]=>
string(11) "Round Table"
["round_table_no"]=>
string(1) "6"
["piping_drapes"]=>
string(13) "Piping Drapes"
}
Код перед сериализацией
$equipment = array();
if ( isset($_POST['equipment']) ){
$equipment['tables'] = isset( $_POST['equipment']['tables'] ) ? str_replace("'","", $_POST['equipment']['tables']) : '';
$equipment['table_no'] = isset( $_POST['equipment']['table_no'] ) ? $_POST['equipment']['table_no'] : '';
$equipment['chairs'] = isset( $_POST['equipment']['chairs'] ) ? $_POST['equipment']['chairs'] : '';
$equipment['chair_no'] = isset( $_POST['equipment']['chair_no'] ) ? $_POST['equipment']['chair_no'] : '';
$equipment['round_tables'] = isset( $_POST['equipment']['round_tables'] ) ? $_POST['equipment']['round_tables'] : '';
$equipment['round_table_no'] = isset( $_POST['equipment']['round_table_no'] ) ? $_POST['equipment']['round_table_no'] : '';
}
Код для сериализации данных
$equipment = serialize($equipment);
Отмена сериализации, возвращая false
.
Обновление
Я изменил код и использовал json_encode и json_decode и сохранял в databsae как текст, теперь при декодировании json я получаю NULL !!
Кто-нибудь может дать мне некоторое представление о том, как это можно решить?
Если вам нужна дополнительная информация, пожалуйста, задайте мне вопрос, чтобы я добавил их к вопросу.
Примечание: Сервер, на котором я работаю, не поддерживает тип данных json
в своей базе данных, поэтому я был вынужден использовать сериализацию. Я не рекомендую людям следовать этому и использовать serialize()
, чтобы сохранить его.