我怎样才能使用PHP& UNION连接未知数量的mysql数据库?

时间:2011-10-28 17:32:37

标签: php mysql union

我有一个名为A的mysql数据库,其中一个名为USERS的表包含用户ID,& NAME,&电子邮件。

在我正在处理的网站上,我已将其设置为当用户注册它时自动为每个用户设置一个新的单独的mysql数据库,该数据库以USERS表中的ID命名。因此,根据登记的人数而存在未知数量的数据库,但数据库的名称很容易1D,2D,3D,4D,5D&等等。在每个数据库上,我有2个表,这些表也以USERS表中的ID号命名FRIENDS&汽车。所以1FRIENDS,2FRIENDS,3FRIENDS,4FRIENDS& 1CARS,2CARS,3CARS,4CARS&等等。 FRIENDS表允许每个用户列出网站上的其他用户。 CARS字段保存有关每个用户收集的玩具车的信息。我正在尝试编写PHP代码以吸引用户FRIENDS&显示他们所有的朋友汽车使用UNION连接所有用户朋友CARS表&按每个用户在每辆车上添加信息的日期订购,但我无法弄清楚如何操作。

如果我确切地知道用户的朋友,例如,如果某个人是用户1和朋友的朋友,我可以让它工作。用户3&我这样编码它会起作用。

$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 )) {

但我不知道用户会选择哪些人提前成为朋友,也不想每次都输入所有这些,所以我需要使用某种变量&一个循环或什么来取名单每个人都是朋友与&做UNION。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:7)

  

在我正在处理的网站上,我已将其设置为当用户时   注册它会自动设置一个新的单独的mysql数据库   每个用户以USERS表中的ID命名。所以那里   是一个数量不明的数据库,取决于有多少人   注册,但数据库的名称很容易1D,2D,3D,4D,5D&   等等

停在那儿。不要那样做。可怕,可怕的想法。证明这是一个坏主意的证据是你现在遇到类似这样的问题。

将用户信息放在单个表上的相同数据库上。按用户ID区分用户。一般来说,它是一个应用程序,它在我看来,你只需要一个数据库。不要继续这条道路。 这是错误的