[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";
}
}
Iscriviti a:
Commenti sul post (Atom)
0 comments:
Posta un commento