2016-04-08 17 views
0

ich meine Abfrage in codeigniter konvertieren möchten, diese Abfrage verwendet zwei databases.this in MySQL arbeiten, aber ich kann diese Abfrage in codeignitor.mysql Abfrage nicht schreiben wird, wie folgend:wie beitreten Tabellen von zwei verschiedenen Datenbanken

$sqlStr = "select s.*,b.booking_status as bstatus,b.booking_id,e.mfg_date,e.ownership,e.evaluation_category,e.booking_id,pb.booking_cancel_status,pb.unverified_cancel_status 
       from avstonau_poc.tbl_exchange e 
       join avstonau_poc.tbl_stock s on e.exchange_id=s.exchange_id 
       join avstonau_maruti_pune.tbl_booking_maruti pb on pb.booking_id=e.booking_id 
       join avstonau_poc.tbl_booking b on b.stock_id=s.stock_id 
       "; 
      $result = mysql_query($sqlStr); 

Antwort

0

Siehe Join query of two databases in codeigniter es einmal prüfen, ob es funktioniert ich bin auch ähnliches Problem konfrontiert zweite Datenbank-Anmeldeinformationen hinzufügen auf database.php
Wie

$db['db2']['hostname'] = 'ip/Rds'; 
$db['db2']['username'] = 'root'; 
$db['db2']['password'] = 'password'; 
$db['db2']['database'] = 'dbname'; 
$db['db2']['dbdriver'] = 'mysql'; 
$db['db2']['dbprefix'] = ''; 
$db['db2']['pconnect'] = TRUE; 
$db['db2']['db_debug'] = TRUE; 
$db['db2']['cache_on'] = FALSE; 
$db['db2']['cachedir'] = ''; 
$db['db2']['char_set'] = 'utf8'; 
$db['db2']['dbcollat'] = 'utf8_general_ci'; 
$db['db2']['swap_pre'] = ''; 
$db['db2']['autoinit'] = TRUE; 
$db['db2']['stricton'] = FALSE; 

und

$CI = &get_instance(); $this->db2 = $CI->load->database('db2', TRUE); 
to use it as $this->db2->select('...'); 
0

setzen Es kann getan werden, aber Sie werden den gleichen MySQL-Benutzer erlaubt haben, müssen beide Datenbanken zugreifen. Sobald Sie dies tun, können Sie $ this-> db als normal verwenden, aber Sie müssen den Datenbanknamen in der Abfrage angeben. Beachten Sie, dass Sie nur den Datenbanknamen für die zweite Datenbank angeben müssen und dies nicht für die Standarddatenbank tun müssen. Beispiel:

$this->db->select('table_from_default_db.id, 2nd_db_name.table_from_second_db.name'); 
    $this->db->from('2nd_db_name.table_from_second_db'); 
    $this->db->join('table_from_default_db', 'table_from_default_db.id = 2nd_db_name.table_from_second_db.id'); 
    $query = $this->db->get(); 
Verwandte Themen