gpt4 book ai didi

php - 在 codeigniter 中加入两个数据库的查询

转载 作者:可可西里 更新时间:2023-11-01 06:46:55 24 4
gpt4 key购买 nike

我需要从两个数据库中编写两个表的连接查询并获取连接数据。例如,假设我有一个数据库 db1,其中有一些名为公司、计划和客户的表。假设我需要通过使用相似的列对两个表 company 和 plans 与另一个数据库 db2 上的另一个表 'cdr' 进行分组。

我正在运行的查询如下:

function get_per_company_total_use ($custid)
{
$this->DB1->select('ph_Companies.CompanyName');
$this->DB1->where('ph_Companies.Cust_ID', $custid);
$this->DB2->select_sum('cdr.call_length_billable')->from('cdr');
$this->DB2->group_by('cdr.CompanyName');
$this->db->join('Kalix2.ph_Companies', 'Kalix2.ph_Companies.CompanyName = Asterisk.cdr.CompanyName');
$query = $this->db->get();
if($query->result()){
foreach ($query->result() as $value) {
$companies[]= array($value->CompanyName,$value->call_length_billable);
}
return $companies;
}
else
return FALSE;
}

但我的查询没有获取数据并抛出错误。同样的查询,我已经在单个数据库上运行并且正在运行。但我需要帮助才能找到如何使用两个数据库完成此操作。

最佳答案

如果你需要连接两个数据库表,你可以只给出以下内容:

function get_per_company_total_use ($custid)
{
$this->db->select('Kalix2.ph_Companies.CompanyName');
$this->db->where('Kalix2.ph_Companies.Cust_ID', $custid);
$this->db->select_sum('Asterisk.cdr.call_length_billable')->from('Asterisk.cdr');
$this->db->group_by('Asterisk.cdr.CompanyName');
$this->db->join('Kalix2.ph_Companies', 'Kalix2.ph_Companies.CompanyName = Asterisk.cdr.CompanyName');
$query = $this->db->get();
if($query->result()){
foreach ($query->result() as $value) {
$companies[]= array($value->CompanyName,$value->call_length_billable);
}
return $companies;
}
else
return FALSE;
}

这里其实不需要给连接变量DB1或者DB2,只要给$this->db就可以了。

关于php - 在 codeigniter 中加入两个数据库的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14159618/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com