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')")
}
4

1 回答 1

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 和准备好的语句。

于 2012-10-27T20:33:37.730 回答