-1

我正在用 php 编程与 mysql 数据库交谈。该代码需要根据登录的用户使用不同的包含文件(连接到不同的数据库)。我只是想知道,这样做的正确方法是什么。应该在开头包含所有文件,然后在我的查询中指定数据库名称或继续包含文件而不更改查询。例如,对于用户 a,所需的数据库访问权限是 uae

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 回答