2010-09-22 77 views
0

我不满意即时做到这一点最好的方式。我从数据库列位置取序列化的代码。我假设我必须内爆序列化的数据,然后爆炸它,因为当我只使用内爆我不能访问所以我用爆炸的条目。我确定有更好的方法?我该如何改进此代码? (内爆/爆炸/反序列化)

$adid = $_GET['id']; 
$query = "SELECT * FROM ad WHERE id = '$adid'"; 
$data = mysqli_query($dbc, $query); 
$ad = mysqli_fetch_array($data); 



//retrieve serialized data containing county id's 
    $counties = explode(" ", implode(" ", unserialize($ad['location']))); 

for ($i = 0; $i <= count($counties); $i++) { 
echo getCounty($counties[$i]); //getCounty: enter county id and return county name 
} 


FYI: $ad['location'] = a:2:{i:0;s:1:"2";i:1;s:2:"20";} 
+3

请看['foreach()'](http://php.net/manual/en/control-structures.foreach.php)---并且不要爆炸/爆炸同样的东西.. ..也描述你的数据将有助于理解问题。 – 2010-09-22 20:11:18

回答

2

不要使用破灭(),当你有一个序列化的字符串,反序列化()只的伎俩。

+0

你是对的。我过于复杂。谢谢 – Jonathan 2010-09-22 20:15:05

0

unserialize()应该返回一个数组。你为什么内爆,然后爆炸?