php - 当主数据库关闭时连接到备用数据库?

标签 php mysql mysqli

$servername1 = "localhost1";
$username1 = "user1";
$password1 = "pwd";
$dbname1 = "dbs1";
$servername2 = "localhost2";
$username2 = "user2";
$password2 = "ped2";
$dbname2 = "dbs2";
// Create connection
$conn = new mysqli($servername1, $username1, $password1, $dbname1);
// Check connection
if ($conn->connect_error) {
    $conn = new mysqli($servername2, $username2, $password2, $dbname2);
    if ($conn->connect_error) {
            die("Connection failed: " . $conn->connect_error);}

}

这种连接方式可以实现吗?当我故意在第一个数据库凭据中犯错误时,我收到一条警告:未知的 MySQL 服务器主机“localhost1” 并且不加载页面。为什么这不起作用?

最佳答案

我列出了数据库列表,然后迭代它们并尝试连接。使用多个数据库应该没有问题。使用 localhost1 和 localhost2(仅 localhost 是可能的,即 127.0.0.1)是不可能的。您应该使用 IP 地址。

这是代码:

<?php
$Databases = array(
		0 => array(
			'db_kind' => 'postgres',
			'host' => $server1[$server1["current"]]["host"],
			'port' => $server1[$server1["current"]]["port"],
			'db_name' => 'database1',
			'username' => 'xxx',
			'password' => 'yyy',
			"type"=>DB_TYPE_3,
		),
		1 => array(
			'db_kind' => 'postgres',
			'host' => $server1[$server1["current"]]["host"],
			'port' => $server1[$server1["current"]]["port"],
			'db_name' => 'database2',
			'username' => 'xxx',
			'password' => 'yyy',
			"type"=>DB_TYPE_2,
		),
		2 => array(
			'db_kind' => 'postgres',
			'host' => $server1[$server1["current"]]["host"],
			'port' => $server1[$server1["current"]]["port"],
			'db_name' => 'database3',
			'username' => 'xxx',
			'password' => 'yyy',
			"type"=>DB_TYPE_1,
		),
	);
	
	for($i=0;$i<count($Databases);$i++)
	{
		if($last_db_ind>=count($Databases)){
			$last_db_ind=0;
		}
		if(($db =& db_connect($last_db_ind++))==false){
			echo 'Connection failed for DB: '. $Databases["db_name"] . ', DB              index: '.$last_db_ind;
			continue;
	}

?> 

关于php - 当主数据库关闭时连接到备用数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26957120/

相关文章:

php - stripshlashes 在我的服务器上不工作

php - 如何使用php接收手机短信到服务器

MySQL JOIN 在幕后

php - 如果名称已在数据库中,则更新 MYSQL 表

php - 我可以将 `new mysqli()` 制作成 php 类吗?

php - 使用主从设置执行 mysql 事务?

PHP URL 缩短器 : Shortener. php 返回错误消息

PHP/mySQL 下拉框问题

MySQL 回收表 - 自动执行替换而不是插入

javascript - php 未定义索引错误消息