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

新手上路,请多包涵

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

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

阅读 5.5k
2 个回答

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

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/

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进