J'ai, ce que je pense/espère, une question PHP très simple. J'ai fait une classe pour créer des connexions de base de données et émettre des requêtes communes. J'essaye d'ouvrir deux connexions différentes de base de données en créant deux objets de la même classe de base de données. Mon code est le suivant:PHP Database Class et new() Fonction
//connect to DB
$dbh = new DB('localhost', 'db1', 'user', 'pass');
//check connection
if(!$dbh->getStatus()) {
echo($dbh->getErrorMsg());
die;
}//if
//connect to DB 2
$dbh2 = new DB('localhost', 'db2', 'user', 'pass');
//check connection
if(!$dbh2->getStatus()) {
echo($dbh2->getErrorMsg());
die;
}//if
Cependant, quand je l'appelle une méthode pour $ dbh pour interroger la base de données, il tente d'interroger avec les informations d'identification pour dbh2 $.
constructeur Ma DB est ci-dessous:
class DB {
function __construct($host, $db, $user, $pass) {
$dbh = mysql_connect($host, $user, $pass);
mysql_select_db($db, $dbh);
if(!$dbh) {
$this->status = false;
$this->error_msg = 'Error connecting to database: '.mysql_error();
return(false);
}//if
$this->dbh = $dbh;
$this->resetStatusAndErrors();
return($dbh);
}//_construct
+1. Ou dérivez votre propre classe de PDO. – dyve
Y a-t-il un moyen d'utiliser PDO? La seule raison pour laquelle je demande est parce que je vais devoir réécrire beaucoup de code. Merci btw, va certainement utiliser PDO dans le futur. – user387049
Commuté tout à PDO, fonctionne comme un charme! Merci encore. – user387049