2012-10-27 140 views
0

如何將包含多個項目的JSON文件中的數據添加到mysql?目前,這下面爲每個項目(遊戲)創建一個新行,其值在$json之間唯一的問題是,每行都有相同的$tagsT,因爲每個項目都有自己獨特的一組標記。變量保持循環中的值

$json = $_POST['json']; 
$result = json_decode($json); 
foreach($result as $key => $value) { 
    if($value) { 

foreach ($value->tags as $tag) { $tagsT .= $tag.','; } 
mysql_query("INSERT INTO `games_db`.`Games` (`title`, `description`, `image`, `category`, `page`, `rating`, `width`, `height`, `tags`) VALUES ('$value->name', '$value->description', '/images/$pageid.jpg', '$category', '$pageid', '$value->rating', '$value->width', '$value->height', '$tagsT')") 
} 

回答

1

清理每個循環後的字符串變量。

foreach ($value->tags as $tag) { $tagsT .= $tag.','; } 

mysql_query("INSERT INTO `games_db`.`Games` (`title`, `description`, `image`, `category`, `page`, `rating`, `width`, `height`, `tags`) VALUES ('$value->name', '$value->description', '/images/$pageid.jpg', '$category', '$pageid', '$value->rating', '$value->width', '$value->height', '$tagsT')") 

$tagsT = ""; // reset string 

否則它會明顯保留以前的標籤。局部變量的範圍在一個函數內。即使在foreach之前沒有定義,它也會保持有效。

另請考慮閱讀當代數據庫教程。搜索PDO並準備好語句。