使用Kohana PHP在2个数据库中选择

使用Kohana PHP在2个数据库中选择,php,database,kohana,kohana-3.3,mysql-error-1146,Php,Database,Kohana,Kohana 3.3,Mysql Error 1146,如何在Kohana中连接不同数据库中的表 $tb_new = 'db_zaboo_feed.feed_' . $feed; $ids = DB::query(Database::SELECT, "SELECT d.fuid_id, d.user_id FROM db_zaboo.displays d LEFT JOIN $tb_new f ON(d.fui

如何在Kohana中连接不同数据库中的表

$tb_new = 'db_zaboo_feed.feed_' . $feed;
            $ids = DB::query(Database::SELECT, 
                             "SELECT d.fuid_id, d.user_id FROM db_zaboo.displays d
                             LEFT JOIN $tb_new f ON(d.fuid_id = f.uid)
                             WHERE d.user_id = (SELECT user_id FROM $tb_new GROUP BY user_id) AND f.uid IS NULL")->execute();
错误:

Database_Exception [ 1146 ]: Table 'db_zaboo.displays' doesn't exist [ SELECT d.fuid_id, d.user_id FROM db_zaboo.displays d LEFT JOIN db_zaboo_feed.feed_3 f ON(d.fuid_id = f.uid) WHERE d.user_id = (SELECT user_id FROM db_zaboo_feed.feed_3 GROUP BY user_id) AND f.uid IS NULL ]

要使用不同的数据库配置组,请传递要执行的名称或配置对象()

$result=$query->execute('config\u name')


这不是科哈纳特有的问题。这是一个问题

要在同一查询中对多个数据库进行操作,必须将表名与其数据库名一起使用。例如:

SELECT * FROM database1.table1 WHERE database1.table1.id IN (SELECT table1_id FROM database2.table2)

小心:通过逐字地编写查询,我不确定Kohana的查询生成器是否能够像使用查询生成器的特定函数构建SQL查询那样防止SQL注入攻击。我会阻止它使用函数

而不是Kohana用户,但这不可能。在连接到特定数据库时调用查询。您需要运行两个连接,然后执行两个单独的查询和逻辑来指定数据库,所以:“->execute($this->_db_组);”但不知道如何从两个数据库中指定数据库,所以:“->execute($this->_db_组);”但不知道如何指定两个数据库