我有一个SQL列,用于存储序列化值。我希望interogate表,获取所有列值,反序列化它们,然后处理结果数组中的数据。
$g1 = mysql_query("SELECT q4 FROM qa");
$g2 = (mysql_fetch_array($g1));
但$ g2不会返回所有列值。另外,在我获得$ g2数组中的所有值之后,我应该如何反序列化生成的数组数组? 谢谢!
答案 0 :(得分:1)
试试这个:
$g1 = mysql_query("SELECT q4 FROM qa");
$val = array();
while($g2 = mysql_fetch_array($g1)){
$val[] = unserialize($g2['q4']);
}
echo "<pre>";
print_r($val);
答案 1 :(得分:1)
如果q4是使用serialize函数进行字符串序列化的,那么你需要使用unserialize函数。
$g2 = array();
foreach(mysql_fetch_array($g1) as $row) {
$g2[] = unserialize($row[0]);
}
答案 2 :(得分:0)
您需要遍历行
像:
$g1 = mysql_query("SELECT q4 FROM qa");
$g2 = Array();
while($row = (mysql_fetch_array($g1))) {
$g2[] = $row;
}
假设您使用PHP序列化数据,答案是unserialize()
方法