iam 为我的项目使用 3 个不同的数据库。它包含相同的密码和用户名。代码是
$con = mysql_pconnect(hostname, username, password) or die("Connection Error: " . mysql_error());
mysql_select_db(database_name, $con) or die("Error connecting to DB. " . mysql_error());
$con1 = mysql_pconnect(hostname, username, password) or die("Connection Error: " . mysql_error());
mysql_select_db(database_name, $con) or die("Error connecting to DB. " . mysql_error());
$con2 = mysql_pconnect(hostname, username, password) or die("Connection Error: " . mysql_error());
mysql_select_db(database_name, $con) or die("Error connecting to DB. " . mysql_error());
三个数据库未正确连接。
看起来您可能缺少连接字符串变量前面的任一$
:
$con = mysql_pconnect($hostname, $username, $password) or die("Connection Error: " . mysql_error());
或者您需要确保 tn 在条目周围使用引号。
不过,在这一点上,如果您正在编写新代码,则可能应该使用 PDO 连接到数据库。
编辑:此外,即使您正在建立新连接,您也会继续使用您在mysql_select_db
语句中定义的第一个$con
(都使用$con
而不是$con1
,$con2
)。
$con = mysql_pconnect($hostname, $username, $password) or die("Connection Error: " . mysql_error());
mysql_select_db($database_name, $con) or die("Error connecting to DB. " . mysql_error());
$con1 = mysql_pconnect($hostname, $username, $password) or die("Connection Error: " . mysql_error());
mysql_select_db($database_name1, $con1) or die("Error connecting to DB. " . mysql_error());
$con2 = mysql_pconnect($hostname, $username, $password) or die("Connection Error: " . mysql_error());
mysql_select_db($database_name2, $con2) or die("Error connecting to DB. " . mysql_error());
您在每次选择中都选择了第一个数据库。这是正确的。另请注意,您必须在 3 个 diff 变量中使用 3 个不同的数据库名称,如下所示
$database_name="dbase";
$database_name1="dbase1";
$database_name2="dbase2";
现在它将连接到所有 3 个数据库,而不是像您的代码中那样只连接到一个数据库。
如果这是您的代码,您将连续选择相同的数据库空闲时间。大概应该是这样的
$con = mysql_pconnect(hostname, username, password) or die("Connection Error: " . mysql_error());
mysql_select_db(database_name, $con) or die("Error connecting to DB. " . mysql_error());
$con1 = mysql_pconnect(hostname, username, password) or die("Connection Error: " . mysql_error());
mysql_select_db(database_name1, $con1) or die("Error connecting to DB. " . mysql_error());
$con2 = mysql_pconnect(hostname, username, password) or die("Connection Error: " . mysql_error());
mysql_select_db(database_name2, $con2) or die("Error connecting to DB. " . mysql_error());
(在mysql_select_db中更改了数据库名称和连接)
看起来取决于..如果您连接到3个不同的主机,那么您的连接参数可能会更改,但数据库名称可以相同。但是,如果尝试连接到同一数据库服务器,则必须选择 3 个不同的数据库。很简单..为什么要选择同一个数据库 3 次?