首页 > 解决方案 > 如何同时连接到两个不同的主机

问题描述

我正在开发一个动态网站,我同时使用本地和远程主机。我试图实现一个代码,在该代码中我首先与本地主机建立连接。如果与 locahost 的连接是错误的或无法建立,我会转到第二个连接(远程服务器或主机)。但这一次,我想做一些不同的事情。现在我想知道是否可以同时连接到两个主机/服务器而没有错误。数据库和表是一样的。我问这个,因为我只想避免 sql 备份。你说什么?此外,我想使用相同的变量 $pdo,因此我不需要更改或重复与表的所有连接。

这是我当前的代码:

<?php
try {
    //Local Host - XAMPP
    $dsn = 'mysql:host=localhost;dbname=bananas';
    $user = 'root';
    $pw = '';
    $sessionpath = 'C:/xampp/tmp';
    $pdo = new PDO($dsn, $user, $pw);
    $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {  //$e
    //echo 'Error: '.$e->getMessage();
    if(!isset($pdo) || $pdo == false){
        try{    
            //Remote Host
            $dsn = 'mysql:host=bananas123;dbname=bananas';
            $user = 'mybigbanana';
            $pw = '6969';
            $sessionpath = '/php_sessions';
            $pdo = new PDO($dsn, $user, $pw);
            $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
        }catch(PDOException $e) {
            echo 'Error: '.$e->getMessage();
        }
    }   
}
?>

注意:我不想为每个连接设置两个变量,例如$pdo$pdo2. 我只想要两个连接的一个变量,即$pdo.

标签: phpmysqldatabase-connectionhost

解决方案


推荐阅读