使用多个数据库信息创建数据库连接文件



我有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']);

最新更新