如果两个数据库位于同一台主机上,并且对两个数据库都拥有完全的权限,那么如何同时连接到两个数据库。所以我有DB-1和DB-2。在这种情况下,我想让下面的脚本使用这两个数据库。我目前正在使用require("db.php");连接到一个数据库,但我想连接到这两个数据库。
require("DB-1.php");
$tbl_name="System_Info";
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$sql = "SELECT COUNT(a.student_id)
FROM DB-1.TableA a
INNER JOIN DB-2.TableB b ON a.student_id = b.student_id
WHERE a.account_status = 'AVTIVE'
AND a.semesteer = '6'
AND b.assesor_status = 'PENDING'";
$q = mysql_query($sql) or die("Query failed: ".mysql_error());
while ($row = mysql_fetch_array($q))
{
echo '' . $row[0];
}这就是它在DB-1上用来连接db-1.php的方法
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="DB-1"; // Database name发布于 2014-04-21 14:18:25
使用MySQLi,您可以将不同的DB连接存储在不同的变量中。
<?php
$mysqlOne = new mysqli("localhost", "user", "password", "database_1");
echo $mysqlOne->host_info . "\n";
$mysqlTwo= new mysqli("127.0.0.1", "user", "password", "database_2", 3306);
$result = $mysqlTwo->query("SELECT Name FROM City LIMIT 10");请记住,您还可以使用一个数据库连接,只需更改在SQL中使用的数据库,例如SELECT * FROM database3.city
请参阅:http://www.php.net/manual/en/mysqli.quickstart.connections.php
发布于 2014-04-21 14:14:17
为此使用mysqli (或PDO)扩展。Mysql扩展(没有i)有点过时,而且它的使用也是不受鼓励的。使用mysqli,您可以轻松地建立和处理到DB的几个(不同的)连接。
请参阅:http://www.php.net/manual/en/mysqli.quickstart.connections.php
发布于 2014-04-21 14:20:24
我还将建议您使用mysqli或PDO与mysql连接,因为PDO 5.5中不推荐使用mysql扩展。
此外,如果您不想移动并且希望运行当前代码,那么下面是解决方案:
1)。首先删除mysql_select_db(“$db_name”)或死(“无法选择DB");2)。并将表名与各自的数据库名称一起使用,例如DBName.TableName
应该管用的!
https://stackoverflow.com/questions/23198967
复制相似问题