查询多个数据库

时间:2014-11-24 01:53:29

标签: php mysql

我在连接处添加了mysql_errno()。并且错误是第二个数据库不存在。这就是为什么查询无法继续进行的原因。那么使这个2数据库连接的正确代码是什么?

//database connection  
 $serverhost = "localhost"; //put in your mysql server host #example : localhost
    $databasename1 = "database1"; //1st database name
        $databasename2 = "database2"; // 2nd database name 
    $loginname = "root"; //put in your mysql username
    $loginpswd = "*****"; //put in your mysql password

$conn1 = mysql_connect($serverhost,$loginname,$loginpswd);

mysql_select_db($ databasename1,$ conn1连接);     echo mysql_errno($ conn1)。 “:”。 mysql_error($ conn1的)。 “\ n” 个;

$conn2 = mysql_connect($serverhost, $loginname, $loginpswd);
mysql_select_db($databasename2, $conn2);
echo mysql_errno($conn2) . ": " . mysql_error($conn2). "\n";

2 个答案:

答案 0 :(得分:0)

{@ 1}} api也已弃用,您应该使用mysql_mysqli。我推荐PDO,因为它支持多个DBMS。

PDO接受资源或连接作为第二个参数。您不能在同一查询中使用两个不同的连接,但不需要两个不同的连接。正如@Dagon指出的那样,mysql_query将使用最新打开的连接,因此您的第一个连接甚至没有被使用。

您应该只能使用一个连接到MySQL服务器并在查询中指定数据库,假设您的用户可以访问这两个数据库。

问题很可能在于您的查询。尝试直接在MySQL服务器上运行它,看看它是否成功,或者如果您确定要继续使用已弃用的mysql api,请使用mysql_error()

答案 1 :(得分:0)

除了Devon's以上的答案之外,它还有助于始终检查mysql错误。因此,如果在查询后添加以下行,则可以增强查询:

if(!$result) {

    echo mysql_error($conn1)
}