【问题标题】:PDO version of DB fail over?数据库故障转移的 PDO 版本?
【发布时间】:2019-12-10 06:00:57
【问题描述】:

是否有带有 PDO 的 how to conect to secondary database if primary database is down (PHP) 版本?

如果主数据库发生故障,我基本上想连接到另一个数据库。

【问题讨论】:

    标签: php database pdo


    【解决方案1】:

    很简单,您可以尝试连接到数据库,如果失败,则连接到另一个。使用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;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-06
      • 1970-01-01
      • 2018-08-17
      • 2011-09-12
      • 2011-01-25
      • 1970-01-01
      • 2023-03-06
      • 2018-03-15
      相关资源
      最近更新 更多