Показать сообщение отдельно

  #7  
Старый 17.01.2010, 13:27
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
С нами: 9223466

Репутация: 3171


По умолчанию

Цитата:
Сообщение от Byrger  
Есть класс работы с БД (ниже кинул начало класса)
Но вот не могу понять почему при вызове его примерно так
PHP код:
$db1 = new db(....vars.....);
$db2 = new db(....vars.....); 
А потом начинаю делать запрос вида
PHP код:
$db1->query(...запос....);
$db2->query(...запос....); 
ТО скрипт работает с 1 БД которая вызвана пойзже =(
Как сделать чтоб класс работал нормально с несколькими БД
PHP код:
class db {
 
        var 
$sql_host;
        var 
$sql_user;
        var 
$sql_pass;
        var 
$sql_base;
        var 
$sql_charset "utf8";
        var 
$sql_count   0;
        var 
$sql_error   true;
        var 
$link_id 0;
 
        function 
__construct($host,$user,$pass,$base,$code,$sql_error) {
          
$this->sql_host=$host;
          
$this->sql_user=$user;
          
$this->sql_pass=$pass;
          
$this->sql_base=$base;
          
$this->sql_charset=$code;
          
$this->error=$error;
          
$this->connect();
        }
 
        function 
connect() {
          
$this->link_id=@mysql_connect($this->sql_host,$this->sql_user,$this->sql_pass);
          if(!
$this->link_id$this->error("False link == Error to connect the database");
          
$selecting_base=@mysql_select_db($this->sql_base,$this->link_id);
          if(!
$selecting_base$this->error("Flase base == Error to select the database");
          
$coder_query=@mysql_query("SET NAMES '$this->sql_charset'");
          if(!
$coder_query$this->error("Error set $this->sql_charset");
        }
 
 
 
        function 
query($query_string) {
          
$selecting_query=@mysql_query($query_string,$this->link_id);
          
$this->sql_count ++;
          if(!
$selecting_query$this->error("False query == $query_string");
          return 
$selecting_query;
        }
....... 
Как вариант,в классе сделать $connect[n];
Тобиш,при вызове класса, ресурс с $c = mysql_connect();,тоесть $c, зписывалось в $connect[] = $c;
А далее,делать работу таким образом:
PHP код:
functon query($query,$conn_id=0){
if(isset(
$this->connect[$conn_id]) & $this->connect[$conn_id]){ blablabla;
}

Примерно так.
 
Ответить с цитированием