What potential issues can arise when using multiple databases in PHP and how can they be resolved?

One potential issue when using multiple databases in PHP is managing multiple database connections efficiently. To resolve this, you can use a database connection manager class to handle connections and ensure that connections are reused when necessary.

class DBConnectionManager {
    private static $connections = [];

    public static function getConnection($dbHost, $dbUser, $dbPass, $dbName) {
        $connectionKey = $dbHost . $dbUser . $dbName;

        if (!isset(self::$connections[$connectionKey])) {
            self::$connections[$connectionKey] = new mysqli($dbHost, $dbUser, $dbPass, $dbName);
        }

        return self::$connections[$connectionKey];
    }
}

// Example of using the DBConnectionManager class
$dbHost = 'localhost';
$dbUser = 'root';
$dbPass = 'password';
$dbName = 'database1';

$connection1 = DBConnectionManager::getConnection($dbHost, $dbUser, $dbPass, $dbName);

$dbName2 = 'database2';
$connection2 = DBConnectionManager::getConnection($dbHost, $dbUser, $dbPass, $dbName2);