[PHP-MySQL] Connettersi a diversi DB su host diversi attarverso una sola funzione

Se avete a che fare con DBMS su host differenti e volete uno script che sia in grado di connettersi dinamicamente a ciascuno di essi, ci si può basare sull'indirizzo del server su cui risiede il DBMS. L'esempio seguente dovete immaginarlo come il costruttore della classe DBconnect che imposta i campi dbhost (host in cui gira MySQL), dbuser (utente con cui si si collega al DB), dbpassword (password utente) e database.
In quest'esempio si fa uso di preg_match e di espressioni regolari per riconoscere l'indirizzo del server.


function DBconnect() {

// esecuzione su una LAN privata
if(preg_match("/^10\./",$_SERVER['SERVER_ADDR'])) {

$this->dbhost = "10.10.234.89";
$this->dbuser = "lan1";
$this->dbpassword = "lan1";
$this->database = "lan1";

// esecuzione su un'altra LAN privata
} else if (preg_match("/^192\./",$_SERVER['SERVER_ADDR'])) {

$this->dbhost = "192.168.9.134";
$this->dbuser = "lan2";
$this->dbpassword = "lan2";
$this->database = "lan2";

} else { // esecuzione in locale

$this->dbhost = "localhost";
$this->dbuser = "locale";
$this->dbpassword = "locale";
$this->database = "locale";

}
}

0 comments:

Byte Strike Blog - Designed by Posicionamiento Web | Bloggerized by GosuBlogger