2010-09-22 43 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()應該返回一個數組。你爲什麼內爆,然後爆炸?