-1

私はmysqlデータベースと話しているphpでプログラミングしています。コードでは、ログインしているユーザーに基づいて、さまざまなインクルードファイル(さまざまなデータベースへの接続)を使用する必要があります。これを行う正しい方法は何でしょうか。最初にすべてのファイルを含めてから、クエリ内にデータベース名を指定するか、ファイルを含め続けてクエリを変更しないようにする必要があります。たとえば、ユーザーの場合、必要なデータベースアクセスはアラブ首長国連邦です。

if($user == 'a'){
include('/home/xxxxxxx/xxxxxx/connection.php'); // connection to database x
$qry = "SELECT * FROM sometable";
} elseif($user == 'b'){
include('/home/xxxxxxx/xxxxxx/connect.php'); // connection to database y
$qry = "SELECT * FROM sometable";
}

上記の方が良いでしょうか、それとも次のようになりますか:-

include('/home/xxxxxxx/xxxxxx/connection.php'); // connection to database x
include('/home/xxxxxxx/xxxxxx/connect.php'); // connection to database y
if($user == 'a'){
$qry = "SELECT * FROM databaseX.sometable";
} elseif($user == 'b'){
$qry = "SELECT * FROM databaseY.sometable";
}

お知らせ下さい。助けていただければ幸いです。

4

1 に答える 1

0

このコードでは、条件に基づいてファイルを含めているため、読み込みページのサイズは増加していません。

if($user == 'a'){
include('/home/xxxxxxx/xxxxxx/connection.php'); // connection to database x
$qry = "SELECT * FROM sometable";
} elseif($user == 'b'){
include('/home/xxxxxxx/xxxxxx/connect.php'); // connection to database y
$qry = "SELECT * FROM sometable";
}

そして、このコードでは、最初にすべてのファイルをロードしているため、ロードページのサイズが大きくなっています

include('/home/xxxxxxx/xxxxxx/connection.php'); // connection to database x
include('/home/xxxxxxx/xxxxxx/connect.php'); // connection to database y
if($user == 'a'){
$qry = "SELECT * FROM databaseX.sometable";
} elseif($user == 'b'){
$qry = "SELECT * FROM databaseY.sometable";
}

1stデータベース接続のみに関係する場合は、アプローチを使用する必要があると思います。

于 2012-09-26T05:13:47.727 に答える