typecho 如何调用第三方数据库内容

纷纭乐乐
  • 4
新手上路,请多包涵

考虑在typecho 博客中调用其他CMS的内容,
但是没找到案例,也没有解决方案。
貌似 $db = Typecho_Db::get();
这个DB的调用也只能使用tipask的。换个数据库配置,马上页面就错了。
Database Query Error 显示这个了。

求助各位大神,有什么解决方案,可以调用其它数据库的内容。
假设 typecho 调用 discuz这样的数据库。当然只是距离。
求助。谢谢。

回复
阅读 4.7k
2 个回答
ShingChi
  • 810

使用你要调用的数据库的配置,重新实例化一个数据库对象,然后操作该对象即可。

php$db = new Typecho_Db('Mysql', 'cdb_');
$db->addServer(array(
    'host' => $dzHost,
    'user' => $dzUser,
    'password' => $dzPassword,
    'charset' => 'utf8',
    'port' => $dzPort,
    'database' => $dzDatabase
), Typecho_Db::READ);

$members = $db->fetchAll($db->select()->from('table.members'));

正如ShingChi所说,通过Typecho_Db的set方式既可以生成新的db对象,具体例子可以参考typecho根目录下的config.inc.php文件,此文件的最后就是初始化了一个Typecho_Db对象。

如需要更加详细了解Typecho_Db的原理,可以参考这篇文章 http://www.typechodev.com/index.php/archives/14/

宣传栏