问题:标题为
项目:我的PHP黑手党/流氓策略游戏
提出要求的原因:我不确定如何将这个问题写入有点相关的Google搜索中。
我想知道我应该为数组使用哪种MySql变量类型。我会将这个数组分解成一个ID列表,其中包括该玩家中的所有人。
示例MYSQL数据:
PlayerId -------- Mob //Lables
134 ------------- '23','59','12','53','801' //Values
然后使用PHP中的explode()
将其展开为一堆包含该人员中玩家IDS的整数。
我希望mob字段具有无限的字符长度,以便玩家可以拥有HUGEE怪物。
我想我可以简单地使用longtext
或set
类型,但我不完全确定。我发布游戏后我不希望任何错误,我希望我的方法保持清洁和正确。
非常感谢您花时间阅读本文,希望您能提供帮助。 :)
答案 0 :(得分:5)
你应该创建一个将玩家与暴徒联系起来的表格:
CREATE TABLE PlayerMobs (
PlayerId INT UNSIGNED NOT NULL,
MobId INT UNSIGNED NOT NULL,
FOREIGN KEY (PlayerID) REFERENCES Players (PlayerID),
FOREIGN KEY (MobID) REFERENCES Mobs (MobID)
);
然后join根据需要在查询中使用其他表格。
我添加了FOREIGN KEY
constraints以确保PlayerID
表中仅存在有效的MobID
和PlayerMobs
值,但请注意,这些约束目前仅适用于{{ 1}}存储引擎。
答案 1 :(得分:0)
你可以尝试
CREATE TABLE PlayerMobs (
PlayerId INT UNSIGNED NOT NULL,
MobId Text UNSIGNED NOT NULL);
答案 2 :(得分:0)
我很久以前就这样做了,但在浏览我的帐户时碰巧遇到了这个问题。
没有任何具体的“暴徒”。你的“暴徒”基本上就像一个朋友列表。这不是一个团体。这只是一群与你有联系的人。
我相信我只是为“暴徒成员”做了一行,然后把其他玩家ID用逗号分隔,然后在PHP中我用逗号分隔字符串作为分隔符。