CodeIgniter多个数据库查询

时间:2015-02-06 07:02:42

标签: php mysql mysqli codeigniter

我尝试使用以下sql查询在多个数据库上运行查询:

// Collect clients db name
$dbs = array();
foreach($cafes as $cafe)
{
    $dbs[] = $cafe->db_name; // client_7
}

// Run multi database query
foreach($dbs as $db)
{
    $this->db->select("$db.orders.*,(select count($db.order_items.id) from $db.order_items where $db.order_items.siparis_id = orders.id) as urun_sayisi, (select sum($db.order_items.tutari) from $db.order_items where $db.order_items.siparis_id = orders.id) as price");
}

$this->db->get()->result();

在上面的示例中,我有咖啡馆客户端,每个客户端都有自己的名为ex:client_7的数据库。我正在尝试列出所有客户订单。我在上面的查询中遇到以下错误:

  

未知的表格' client_7'在字段列表中

如何列出来自多个数据库的订单表上的所有行?

2 个答案:

答案 0 :(得分:3)

请在表名前提及数据库名称.. 例如

SELECT userid FROM db1.user; 
SELECT userid FROM db2.user; 

答案 1 :(得分:0)

试试这个:

<?php 
$secound_db= $this->load->database('database_two', TRUE);
$query = $secound_db->get('person');
var_dump($query);

Source