Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php DB故障转移的PDO版本?_Php_Database_Pdo - Fatal编程技术网

Php DB故障转移的PDO版本?

Php DB故障转移的PDO版本?,php,database,pdo,Php,Database,Pdo,有PDO的版本吗 基本上,如果主数据库出现故障,我希望连接到另一个数据库。非常简单,您可以尝试连接到该数据库,如果该数据库出现故障,则连接到另一个数据库。使用try/catch块并将PDO::ATTR_ERRMODE属性设置为引发异常,PDO::ERRMODE_EXCEPTION。然后,如果连接引发异常,则捕获并尝试连接到另一个数据库 不过,您还需要测试第二个连接,因为如果该连接也失败,它会像以前一样抛出异常 try { $pdo = new PDO("mysql:host=host1;

有PDO的版本吗


基本上,如果主数据库出现故障,我希望连接到另一个数据库。

非常简单,您可以尝试连接到该数据库,如果该数据库出现故障,则连接到另一个数据库。使用
try/catch
块并将
PDO::ATTR_ERRMODE
属性设置为引发异常,
PDO::ERRMODE_EXCEPTION
。然后,如果连接引发异常,则捕获并尝试连接到另一个数据库

不过,您还需要测试第二个连接,因为如果该连接也失败,它会像以前一样抛出异常

try {
    $pdo = new PDO("mysql:host=host1;dbname=host1", 'username1', 'password1', [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);
} catch (Exception $e) {
    try {
        $pdo = new PDO("mysql:host=host2;dbname=host2", 'username2', 'password2', [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);
    } catch (Exception $e) {
        echo "Connection failed to both databases";
        exit;
    }
}