php - How to connect to two different MySQL DB in the same class -


i have class called database . looks this

    class database     {          private $conexion;         private $paisconexion;         var $db;         function __construct($db='default')         {             $this->db = $db;             include '../settings/variables.php';              if(isset($bbdd)){              $conexion = mysql_connect($bbdd["server"], $pais[0]['user'], $pais[0]['pass']) or die('no se pudo conectar: '.mysql_error());             // seleccionamos la base de datos             mysql_select_db($x[0]['database']) or die('no se pudo seleccionar la base de datos');              if($conexion)             {                $paisconexion = mysql_connect($bbdd["server"], $pais[$this->db]['user'], $pais[$this->db]['pass']) or die('no se pudo conectar: '.mysql_error());              mysql_select_db($pais[$this->db]['database']) or die('no se pudo seleccionar la base de datos');              }               }             else{                 echo 'el sistema no se pudo conectar la base de datos.';                 exit;             }         }  public function execute($sql)     {         $result = mysql_query($sql) or die("error: ejecuci&oacute;n de consulta: $sql<br>\n");         return $result;     } } 

i trying make 2 connection 2 different database using variable $conexion , $paisconexion .

my question is possible .

i mean suppose creating object class

$obj = new database(1); $res = obj->execute($sql);

so how the class decide of connection has use ? .

i think doing wrong way . if 1 has idea please let me know

thanks in advance

you can't create 1 class both databases. unless pass parameter specifies witch connection use. must use 2 different variables different connections. , don't use deprecated mysql_* functions

class database {     // private variables accessed functions     private $localdb, $remotedb;     // use constants instead of magic numbers     const local = 1, remote = 2      public function _construct() {         $this->localdb= new pdo('mysql:host=localhost;dbname=test', 'username', 'password');         $this->remotedb= new pdo('mysql:host=remore;dbname=test2', 'username', 'password');     }      // can't use constants in function header           - - - - -v     public function execute($querystring, $params = [], $usedb = 1) {         // static:: take variable class , not parent class (if extends something)         if ($usedb == static::local) {             $db = $this->local;         } elseif ($usedb == static::remote) {             $db = $this->remote;         }          $query = $db->prepare($querystring);          // usage of prepared statement         return $query->execute($params);     } }  $db = new database(); $db->execute(     'select * table column = :columnval', // named placeholders instead of tons of '?'      [':columnval' => 5], // parameters     database::local // constant class ); 

Comments

Popular posts from this blog

java - Plugin org.apache.maven.plugins:maven-install-plugin:2.4 or one of its dependencies could not be resolved -

Round ImageView Android -

How can I utilize Yahoo Weather API in android -