我想在浏览器中显示数据。我已经从数据库中检索了数据,但是当我调用mysql_select_db
时,它只接受一个数据库。但我的数据来自不同的数据库。
我如何选择它们? 如果我正在编写mysql_select_db,它只占用一个数据库。如果我使用的是mysql_select_db,它接受但是结果不会在浏览器中显示。它显示最大执行时间为30秒..如果我在1个数据库上工作,结果显示在浏览器中,但是当我尝试在同一个连接中链接多个数据库时问题就出现了。
当我尝试在单个数据库中链接2表时也出现同样的问题。但是如果我使用单个表而没有与其他表链接而不是结果正在进行
答案 0 :(得分:3)
您需要打开两个不同的连接
$con1 = mysql_connect($server1, $user1, $pass1);
mysql_select_db($con1);
$con2 = mysql_connect($server2, $user2, $pass2);
mysql_select_db($con2);
$query1 = mysql_query($sql1, $con1);
$query2 = mysql_query($sql2, $con2);
编辑:
如果您的数据库都可通过一个连接访问:
假设你有两个不同的数据库,db1和db2
$sql1 = "SELECT * FROM db1.myTable WHERE something ";
$sql2 = "SELECT * FROM db2.myOtherTable WHERE something ";
答案 1 :(得分:1)
您可以使用数据库名称(SELECT * FROM db1.table; SELECT * FROM db2.table)
限定查询,也可以运行第一个查询,将结果存储到PHP数组,调用mysql_select_db()并运行第二个查询。
第一种方法更灵活,因为如果你愿意,你可以做跨数据库连接之类的事情(不能保证跨数据库连接的执行情况)。
答案 2 :(得分:0)
首先,从第一个数据库获取数据,然后为第二个数据库调用mysql_select_db
,然后从第二个数据库中获取值。您可以在需要数据的数据库之间来回移动,只需在调用php mysql函数之前为该数据库调用mysql_select_db
。