Warning : mysql_xx
个函数在PHP5.5之后被弃用,在PHP7.0之后被删除(见http://php.net/manual/intro.mysql.php),使用mysqli_xx
个函数或从@Troelskn中查看下面的答案
您可以对mysql_connect()
进行多次调用,但如果参数相同,则需要为‘$new_link
’(第四个)参数传递true,否则将重用相同的连接.例如:
$dbh1 = mysql_connect($hostname, $username, $password);
$dbh2 = mysql_connect($hostname, $username, $password, true);
mysql_select_db('database1', $dbh1);
mysql_select_db('database2', $dbh2);
然后,要查询数据库1,请传递第一个链接标识符:
mysql_query('select * from tablename', $dbh1);
对于数据库2,请通过第二步:
mysql_query('select * from tablename', $dbh2);
如果未传递链接标识符,则使用创建的最后一个连接(在本例中为$dbh2
表示的连接),例如:
mysql_query('select * from tablename');
Other options
如果MySQL用户可以访问这两个数据库,并且它们位于同一台主机上(即两个数据库都可以从同一个连接访问),那么您可以:
- 保持一个连接打开,必要时拨打
mysql_select_db()
进行交换.我不确定这是一个干净的解决方案,你最终可能会查询错误的数据库.
- 在查询中引用表时指定数据库名称(例如
SELECT * FROM database2.tablename
).这可能是一个难以实施的难题.
另外,请阅读Troleskn的答案,因为如果您能够使用PDO而不是旧的扩展,那么这是一种更好的方法.