0

この回答を参照したところ、私が好んだのは最初の解決策でした。問題は、彼が情報を提供しましmysql_()たが、使用してmysqli_()いるため、4番目のパラメーターをtrueとして使用して、ユーザーがログインしたときにデータベースを選択し、彼がログインした瞬間です。それぞれのページにリダイレクトされますが、接続が積極的に拒否されたことを示しています。2 つのデータベースをどのように使用できるかについてのアイデア。1 つはデフォルトのエンジン データベースであり、フレームワークを実行するために維持する必要があり、2 番目のデータベースは、ログインしているユーザーに応じてそれぞれのスクリプトを実行します...

試しているのはこれ

<?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());
        }
    }
?>

PS私は手続き的な方法が欲しい

4

1 に答える 1

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
?>
于 2012-11-11T07:02:56.733 に答える