我有 1 个名为 A 的 mysql 数据库和一个名为 USERS 的表,其中包含用户 ID、&NAME 和 EMAIL。
在我工作的网站上,我设置了它,以便当用户注册时,它会自动为每个用户设置一个新的单独的 mysql 数据库,该数据库以用户表中的 ID 命名。因此,数据库的数量未知,具体取决于注册人数,但数据库的名称很简单,如 1D、2D、3D、4D、5D 等。在每个数据库上,我都有 2 个表,它们也以 USERS 表 FRIENDS & CARS 中的 ID 号命名。所以 1 个 friend 、2 个 friend 、3 个 friend 、4 个 friend 和 1 辆汽车、2 辆汽车、3 辆汽车、4 辆汽车等等。 FRIENDS 表允许每个用户列出站点上的其他用户。 CARS 字段包含每个用户收集的玩具车的信息。我正在尝试编写 PHP 代码以获取 A 用户 friend 并使用 UNION 显示他们所有 friend 的汽车以连接所有用户 friend 汽车表并在每个用户添加每辆车信息的日期之前订购它们,但我可以'不知道该怎么做。
如果我确切地知道用户有哪些 friend ,我就可以让它工作,例如,如果一个人是用户 1 和用户 3 的 friend ,我这样编码它就可以工作。
$dbc = @mysqli_connect (DB_HOST, DB_USER, DB_PASSWORD) OR die
('Could not connect to MySQL: ' . mysqli_connect_error() );
$query = "SELECT * FROM 1D.1CARS UNION SELECT * FROM
3D.3CARS ORDER BY date_entered DESC";
if ($result1 = @mysqli_query($dbc, $query)) {
while ($row = mysqli_fetch_array($result1 )) {
但我不知道用户会提前选择与哪些人成为 friend ,我也不想每次都输入所有这些,所以我需要使用某种变量和循环或其他东西每个人的列表都是 friend 并做 UNION。任何帮助将不胜感激。
最佳答案
On the site I am working on I have it set up so that when the user registers it automatically sets up a new seperate mysql database for each user which is named after their ID from the USERS table. So there are an unknown number of databases depending on how many people register but the names of the databases are easy 1D, 2D, 3D, 4D, 5D & so on
停在那里。不要那样做。可怕的,可怕的想法。这是一个坏主意的证据是你现在有这样的问题。
将同一数据库上的用户信息放在单表上。通过 ID 区分用户。通常,它是一个应用程序,在我看来您只需要一个数据库。不要继续这条路。 这是错误的。
关于php - 如何使用 PHP & UNION 连接未知数量的 mysql 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7932739/