我错误地将我的应用程序设计为每个用户都有一个数据库。每个用户有 3 个类似的表。我现在只想拥有一个数据库和 3 个表;我将使用旧数据库中的数据库名称作为新系统中的参考。在存储数据库名称的旧数据库中还有另一个名为“用户”的数据库。我完成了新数据库的架构设计,现在进行迁移。
这里的诀窍是我有 3 个数据库连接。我首先连接到 users 数据库和 userinfo 表,在循环中获取 database_name,用它来连接每个旧数据库,并进一步连接到个人、帐户和游戏表。
拿起表格后,我想用新的数据库(DATA_ONE)和表格填充/加入它,同时我将旧的 database_name 附加到新的表格中。对此有任何帮助或有更好的方法吗?非常感谢
<?php
$dbhost = "localhost";
$dbname = "users";
$dbuser = "root";
$dbpass = "*****";
$conn1 = mysql_connect($dbhost, $dbuser, $dbpass, TRUE) or die("MySQL Error: " . mysql_error());
$conn2 = mysql_connect($dbhost, $dbuser, $dbpass, TRUE) or die("MySQL Error: " . mysql_error());
$conn3 = mysql_connect($dbhost, $dbuser, $dbpass, TRUE) or die("MySQL Error: " . mysql_error());
mysql_select_db($dbname,$conn1) or die("MySQL Error: " . mysql_error());
$query = "SELECT database_name FROM userinfo";
$result1 = mysql_query($query,$conn1);
while($row = mysql_fetch_array($result1, MYSQL_ASSOC))
{
$database_name =$row['database_name'];
$conn2 = mysql_connect($dbhost, $dbuser, $dbpass) or die("MySQL Error: " . mysql_error());
$db = mysql_select_db($database_name ,$conn2) ;
// now, pick personal, accounts, games tables of user and populate new database and tables.
// this is where i need help.
}
?>