如何连接来自两个不同 PDO 对象的表?

Posted

技术标签:

【中文标题】如何连接来自两个不同 PDO 对象的表?【英文标题】:How do I join tables from two different PDO object? 【发布时间】:2013-08-10 15:41:42 【问题描述】:

我不知道我必须如何连接来自两个不同 PDO 对象的表。我希望大家能帮助我解决这个问题。非常感谢您的回复。

$dbsql = new PDO('mysql:host=localhost;dbname=dbpenggajian', $user='root', $pass='');

$dbaccess = new PDO("odbc:Driver=Microsoft Access Driver (*.mdb);Dbq=D:\\Kepegawaian Arto Moro\BACK_UP_ABSENSI\TJ_Main_Data.mdb; Uid=userName;Pwd=everyday;");

这是我的实验代码

$acc=$dbaccess+$dbsql->query("SELECT *
                    FROM dbaccess.HR_Personnel as h
                    RIGHT JOIN dbaccess.TA_Record_Info a
                    ON h.ID=a.Per_ID
                    INNER JOIN dbsql.pegawai_tetap as p
                    on h.Per_Code=p.nip ;");
    while($k=$acc->fetch(PDO::FETCH_ASSOC))

还是报错

致命错误:在非对象上调用成员函数 fetch()

请帮助我。谢谢

【问题讨论】:

你不能像这样同时查询 2 个不同的数据库:$acc=$dbaccess+$dbsql->query 【参考方案1】:

当然,这是不可能的。

你必须先在 mysql 中导入你的 ODBC 表。

【讨论】:

以上是关于如何连接来自两个不同 PDO 对象的表?的主要内容,如果未能解决你的问题,请参考以下文章

如何内部连接来自不同数据上下文的表? [复制]

MariaDB 根据列值连接来自不同数据库的表

连接来自两个不同数据库的表

如何将不同数据上下文的表进行内部连接?[重复]

如何在sql中连接来自不同表的两个字段

如何使用 PDO 跨两个数据库运行连接查询