我有4个不同的数据库,其中有4个用户名和密码。我想把所有的连接信息放在一个文件中:db_conn.php.
db_conn.php
<?php
$dbname1 = "courses_classes";
$web_name ='wart.wmysql.com';
$web_user = "admin";
$web_pass="administrator";
$dbname2 ="courses_supplies";
$web_name ='wart.wmysql.com';
$web_user = "maint";
$web_pass="maintenance";
$dbname3 = "courses_instructor":
$web_name ='wart.wmysql.com';
$web_user = "teacher";
$web_pass="instructor";
$dbname4 = "webmaster";
$web_name ='wart.wmysql.com';
$web_user = "admin";
$web_pass="webAdmin";
?>
在不同的页面上,如果可能的话,这是我想使用的代码:
//============================================================ database connection
require('../cgi-bin/db_conn.php');
$dbname = "dbname1";
$table_name = "members";
// Create connection
$conn= new mysqli($web_name,$web_user ,$web_pass,$dbname);
// Check connection
if ($conn-> connect_errno) {
echo "Failed to connect to MySQL: " . $conn-> connect_error;
exit();
}
//else { echo "connected"; }
// ============================================================= end db connection
通过不让conn为null进行了一个小更改。这就是现在的样子
连接页面
$db = [
'admin' => [
'db_conn' => 'schoolnet.qwertymysql.com',
'db_user' => 'user',
'db_pass' => 'pass',
'db_name' => 'school_comm',
],
];
网页
$selectedConn = 'Content';
$conn= new mysqli($db[$selectedConn]['db_conn'],
$db[$selectedConn]['db_user'] ,
$db[$selectedConn]['db_pass'],
$db[$selectedConn]['db_name']
);
最简单的解决方案是将不同的凭据存储在关联的数组中。例如:
$db = [
'classses' => [
'db_name' => 'courses_classes',
'db_user' => 'user',
'db_pass' => 'pass',
'conn' => null,
],
....
'supplies' =>..
];
然后,对于连接启动,您可以根据阵列中的密钥"选择"所需的凭据。示例:
$selectedConn = 'classes';
$conn= new mysqli($selectedConn,$db[$selectedConn]['db_user'] ,$db[$selectedConn]['db_pass'],$db[$selectedConn]['db_name']);
// OR store your connection in the array as well for future reference
$db[$selectedConn]['conn'] = new mysqli($selectedConn,$db[$selectedConn]['db_user'] ,$db[$selectedConn]['db_pass'],$db[$selectedConn]['db_name']);