Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 非序列化问题_Php_Mysql - Fatal编程技术网

Php 非序列化问题

Php 非序列化问题,php,mysql,Php,Mysql,我在取消序列化数据库表中的数据时遇到了一个问题。我序列化了数据并保存到表中。当我检索数据时,我无法正确获取它。下面是我的代码 $miscel = serialize(array($_POST['Prod_Price'],$_POST['Prod_Cond'])); 我成功地将数据插入数据库。在数据库表中,它看起来像 s:38:"a:2:{i:0;s:4:"4444";i:1;s:6:"Middle";} 如何正确检索数据 到底是什么问题?您只需调用即可检索原始形式的数据: // assum

我在取消序列化数据库表中的数据时遇到了一个问题。我序列化了数据并保存到表中。当我检索数据时,我无法正确获取它。下面是我的代码

$miscel = serialize(array($_POST['Prod_Price'],$_POST['Prod_Cond'])); 
我成功地将数据插入数据库。在数据库表中,它看起来像

s:38:"a:2:{i:0;s:4:"4444";i:1;s:6:"Middle";}

如何正确检索数据

到底是什么问题?您只需调用即可检索原始形式的数据:

// assuming your database column 'foo' contains
// s:38:"a:2:{i:0;s:4:"4444";i:1;s:6:"Middle";}
$miscel = unserialize($row['foo']);
print_r($miscel);    
// returns array([0] => 4444, [1] => 'Middle');

如果问题是串行化的数据不是很可读的,你应该考虑<强>存储数组关键字以及:

$miscel = serialize(array('price' => $_POST['Prod_Price'], 'cond' => $_POST['Prod_Cond'])); 

到底是什么问题?您只需调用即可检索原始形式的数据:

// assuming your database column 'foo' contains
// s:38:"a:2:{i:0;s:4:"4444";i:1;s:6:"Middle";}
$miscel = unserialize($row['foo']);
print_r($miscel);    
// returns array([0] => 4444, [1] => 'Middle');

如果问题是串行化的数据不是很可读的,你应该考虑<强>存储数组关键字以及:

$miscel = serialize(array('price' => $_POST['Prod_Price'], 'cond' => $_POST['Prod_Cond'])); 

您需要使用该功能。这将返回每个数组。

您需要使用该函数。这会将每个返回返回到一个数组中。

具体来说,您有什么问题?您正在对字符串调用unserialize吗?我序列化了数据并将其放入mysql表中。但我不知道如何找回。我试过使用unserialized,但它不起作用。您是在谈论如何从数据库检索数据吗?然后阅读PHP书籍中有关从数据库检索的章节。StackOverflow不是一个教程网站。更具体地说,你有什么问题?您正在对字符串调用unserialize吗?我序列化了数据并将其放入mysql表中。但我不知道如何找回。我试过使用unserialized,但它不起作用。您是在谈论如何从数据库检索数据吗?然后阅读PHP书籍中有关从数据库检索的章节。StackOverflow不是一个教程网站。我遵循了相同的<代码>s:49:“a:2:{s:5:“价格”;s:3:“467”;s:4:“条件”;s:3:“旧”}以上述格式保存的数据<代码>$vets=unserialize($list1->meta_值)$输出。=$vets[‘价格’]我使用此格式获取数据。。但是它没有返回价格值..我遵循了相同的<代码>s:49:“a:2:{s:5:“价格”;s:3:“467”;s:4:“条件”;s:3:“旧”}以上述格式保存的数据<代码>$vets=unserialize($list1->meta_值)$输出。=$vets[‘价格’]我使用此格式获取数据。。但它并没有返回价格值……问题解决了。在插入数据库之前,我必须使用strip_标签@Mayilarun:不太可能,因为HTML/XML与场景无关。也许你应该
mysql\u escape\u string
来清理序列化输入。问题解决了。在插入数据库之前,我必须使用strip_标签@Mayilarun:不太可能,因为HTML/XML与场景无关。也许你应该
mysql\u escape\u string
来清理序列化输入。
$records = array(
            'name'=>'abc', 
            'mobile'=>'1234566789', 
            'address'=>'test', 
            'email'=>'test@test.com');
$records_serialize = serialize($records);

echo "serialize<br/>";
print_r($records_serialize);

echo "<br/><br/>unserialize<br/>";
$records_unserialize = unserialize($records_serialize);
print_r($records_unserialize);