重大发现Discuz DB层跨库映射关系表名前缀BUG

本文更新:http://www.cnblogs.com/x3d/p/3916198.html

场景:

在Discuz中创建Table模型,但该Table所在库与Discuz不在同一个库。

 

Discuz好像是在3之后提供跨库映射的机制。

映射没问题,主要是发现表名前缀没有相应的映射过来。当然,其实也不算bug。因为他只考虑discuz自己的系统,一般来说,表名前缀是相同的。

 

在db驱动类里,db_driver_mysql(i):

function table_name中追加代码

 

重大发现Discuz DB层跨库映射关系表名前缀BUG_第1张图片

 

if(!empty($this->config[$id]['tablepre'])){
                $this->tablepre = $this->config[$id]['tablepre'];
            }

 

你可能感兴趣的:(discuz)