在同一主机上的我的网页上使用多个数据库

时间:2012-11-11 06:49:51

标签: php mysql database-connection

我刚刚引用了this回答,我首选的是第一个解决方案,现在的问题是他已经为mysql_()提供了信息,但我正在使用mysqli_(),所以使用第4个参数作为是的,我在用户登录时选择了数据库,当他登录时,他被重定向到相应的页面,但它显示连接被主动拒绝。任何想法如何使用2数据库,1是我的默认引擎数据库,我需要保持它运行我的框架和第二个数据库根据用户登录运行相应的脚本...

这是什么尝试

<?php
    $database_connect = mysqli_connect('localhost', 'root', '', 'engine');
    if(!$database_connect) {
        die ('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error());
    }

    if(isset($_SESSION['system_id'])) {
        $system_database = mysqli_connect('localhost', 'root', '', $_SESSION['system_name'], true);
        if(!$system_database) {
            die ('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error());
        }
    }
?>

P.S我想要一种程序性的方式

1 个答案:

答案 0 :(得分:0)

您不需要任何额外的参数,只需像这样做

<?php
    $database_connect = mysqli_connect('localhost', 'root', '', 'engine');
    if(!$database_connect) {
        die ('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error());
    }

    if(isset($_SESSION['system_id'])) {
        $system_database = mysqli_connect('localhost', 'root', '', $_SESSION['system_name']);
        if(!$system_database) {
            die ('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error());
        }
    }

//Now whatever query you write, just do it like this

$access = mysqli_query($database_connection_var, "/*Query Goes Here*/"); //Will get database name from $database_connection_var

$access2 = mysqli_query($database_connection_var2, "/*Query Goes Here*/"); //Will get database name from $database_connection_var2
?>