重大发现Discuz DB层跨库映射关系表名前缀BUG,discuz关系表
程序员文章站
2022-05-11 18:08:25
...
重大发现Discuz DB层跨库映射关系表名前缀BUG,discuz关系表
场景:
在Discuz中创建Table模型,但该Table所在库与Discuz不在同一个库。
Discuz好像是在3之后提供跨库映射的机制。
映射没问题,主要是发现表名前缀没有相应的映射过来。当然,其实也不算bug。因为他只考虑discuz自己的系统,一般来说,表名前缀是相同的。
在db驱动类里,db_driver_mysql(i):
function table_name中追加代码
if(!empty($this->config[$id]['tablepre'])){ $this->tablepre = $this->config[$id]['tablepre']; }