PHP / MySQL - 计算数据库中有多少表包含特定名称



我正在构建一个管理员来控制一个交互式游戏,我正在使用 PHP/MySql 来存储所有回合的所有数据。我想通过PHP加载到游戏中的每个表都标题为"Puzzle*",其中*是一个增量索引号。我的数据库中还有其他一些表格,用于全球游戏数据和奖金回合。

我希望能够做的是计算数据库中包含名称"Puzzle"的表的数量,然后将该总数用作随机器来随机选择拼图。我计划有大约 50 个谜题,所以这是一种自动选择随机谜题的方法,然后如果我想选择另一个谜题 - 从列表中删除以前的谜题,这样在我重新开始整个游戏之前就没有重复的机会。

MySQL 数据库

Database Name: puzzleGame
Table 1: puzzle1
Table 2: puzzle2
Table 3: puzzle3
Table 4: puzzle4
Table 5: globals
Table 6: bonus
您可以

运行SHOW TABLES查询,例如

SHOW TABLES FROM puzzleGame LIKE 'puzzle%'

然后在PHP中,您可以将它们全部加载到一个数组中并处理随机选择。

尝试 mysql 查询:

show tables from your_db like '%puzzle%';

然后计算结果

我不懂PHP。但我知道这个 MySql 查询会给你的结果:

从information_schema中选择TABLE_NAME。其中 TABLE_SCHEMA='puzzleGame' 和 TABLE_TYPE='基表' 和TABLE_NAME如 'Puzzle%' 的表格;