php - 在 CodeIgniter 中加入来自 2 个不同数据库中的 2 个表的查询
问题描述
我有 2 个数据库需要加入。
这是我的查询,但$db2
仅适用于第二个数据库,并且$this->db->query
仅适用于第一个数据库。
$akses = $db2->query("select A.uName, A.userPwd, A.[Nomor Induk], B.id_jabatan, B.nama FROM tUser A
LEFT JOIN karyawan B ON B.nik = A.[Nomor Induk]
LEFT JOIN bagian_departemen C ON C.id_bagian_dept = B.id_bagian_dept
WHERE A.uName = '$username' AND A.userPwd = '$password'"
);
我想知道从 2 个数据库中加入 2 个表的语法。
数据库:
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'helpdesk',
'dbdriver' => 'sqlsrv',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => TRUE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'striction' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
$db['another_db'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'produksi',
'dbdriver' => 'sqlsrv',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => TRUE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'striction' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
解决方案
试试这样:
$this->db->select("db1.table.column")
$this->db->join('db1.table', 'db1.table.column = db2.table.column');
$query = $this->db->get();
推荐阅读
- blazor - 在 Blazor 新项目中找不到 Blazor WebAssembly 模板
- javascript - 网站如何管理它当前在浏览器中打开的选项卡?
- regex - sed 尝试更改日志文件中的主机名,但 - (破折号,减号)导致问题
- tableau-api - 使用包含相同文本的两列硬编码 Tableau 仪表板的可能选项
- c++ - 调用“向量”没有匹配的函数
我有一个类 Registration,它从文件中读取第一行输入并将其发送到另一个类 Result 以特定方式读取其余部分。我想使用自定义矢量类来实现这一点。我将注册结果向量声明为私有变量,如下所示:
Vector<Result> results;
- jquery - 按字母分组字母列表并将组添加到无序列表
- c# - C# json 解析多个大括号内的字符串,不区分大小写
- r - 访问 `mutate_at` 中的列名以将其用于子集列表
- python - 如何防止多次出现带有选项的可选参数
- javascript - 如何在单击时显示/隐藏具有特定类的元素?