Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 向MySQL添加数据列表_Php_Mysql - Fatal编程技术网

Php 向MySQL添加数据列表

Php 向MySQL添加数据列表,php,mysql,Php,Mysql,我有一些数据要添加到数据库中,我不确定我的表模式应该是什么。我有每个特定用户的id号,4个游戏类别,以及每个用户在每个游戏中可能拥有的项目数(0+)。我想为每个游戏设置一个表,其中包含类别->id和->项目,这样我就可以在表中保存用户id的列表,以及他们在该游戏中拥有的项目 我似乎无法让它工作,我想是因为每个用户的项目数量是动态的。我可以实现上面提到的表模式吗?为什么不/怎么做 我一直在努力: foreach ($json->rgDescriptions as $mydata)

我有一些数据要添加到数据库中,我不确定我的表模式应该是什么。我有每个特定用户的id号,4个游戏类别,以及每个用户在每个游戏中可能拥有的项目数(0+)。我想为每个游戏设置一个表,其中包含类别->id和->项目,这样我就可以在表中保存用户id的列表,以及他们在该游戏中拥有的项目

我似乎无法让它工作,我想是因为每个用户的项目数量是动态的。我可以实现上面提到的表模式吗?为什么不/怎么做

我一直在努力:

foreach ($json->rgDescriptions as $mydata)
        {    
         $sql = $dbh->prepare('INSERT INTO user_items_tf2 (items) VALUES (:item) WHERE steam_id = :steamid');
         $sql->bindParam(':item', $mydata->name);
         $sql->bindParam(':steamid', $steamprofile['steamid']);
         $sql->execute();
    }
$sql=$dbh->prepare('INSERT INTO user\u items\u tf2(items,steam\u id)值(:item,:steamid)')


有很多方法可以做到这一点,但其中一个非常灵活,似乎可以回答你的问题将是这个

-- Players
CREATE TABLE player
    (`id` int primary key auto_increment, `name` varchar(255))
;

-- Games
CREATE TABLE game
    (`id` int primary key auto_increment, `name` varchar(255))
;

-- Items and what game they belong to
CREATE TABLE item
    (`id` int primary key auto_increment, `game_id` int, `name` varchar(255))
;

-- What games players are playing
CREATE TABLE player_game
    (`player_id` int, `game_id` int)
;

-- What items players have
CREATE TABLE player_item
    (`player_id` int, `item_id` int, index(`player_id`))
;

如果您不需要询问哪些用户拥有给定的项目,您可以跳过player_item表,并使用blob类型将其项目的数据(例如JSON)填充到
player
表的一列中

您混合了两个
insert
udpate
查询。为什么不为用户创建一个表,一个用于游戏,一个用于项目,一个用于将用户链接到游戏的表,以及一个用于将用户游戏链接到项目的表呢。这样就形成了一对一的关系,很好也很好simple@scrowler我目前有一张供用户使用的表格,还有4张供4个游戏使用的表格,其中包含了每个游戏的所有可能项目。我不完全明白你的意思。我不知道如何让每个用户都有一个动态的项目列表。@Uchiha因为WHERE部分?但这仍然不能解决我的实际问题。请查看这些链接和。试着了解他们之间的差异