Warning: Error while sending QUERY packet. PID=4752 in /home/wwwroot/coco/domain/cnlamp/web/wp-includes/wp-db.php on line 1877 thinkphp 多数据库连接操作 | LAMP新闻|技巧|经验|资讯站
现在的位置: 首页PHP>正文
thinkphp 多数据库连接操作
发表于6年前 PHP 评论数 1

最近,测试了一下thinkphp的多数据库连接,发现thinkphp官方文档上的多数据库连接无法运行成功,因此查找资料,终于运行成功:

1、如果数据库在同一个服务器上,则可以直接使用:

class MembersModel extends Model{
protected $trueTableName = ‘members.members’; //数据库名.表名(包含了前缀)
}
然后就可以像D(“Members”);这样实例化模型,像普通模型那样操作了。

2、数据库在不同的服务器上:

要建立多数据连接,首先要构造数据库配置参数。我想如果每次都在建立多数据库连接的时候都建立数据库配置数组,这样很麻烦,我还不如写在配置文件里。这里怎么写还是有点技巧的。

所以在配置文件里加入以下代码:

//我的第一个数据库连接

‘DB_CMSBBS’=>array(

‘dbms’ => ‘mysql’,

‘username’ => ‘root’,

‘password’ => ‘123’,

‘hostname’ => ‘localhost’,

‘hostport’ => ‘3306’,

‘database’ => ‘discuz’

),

这样我们可以用C(“DB_CMSBBS”)来得到数据库的配置数组。

具体代码:
                $content = new AdvModel();   //实例化一个空高级模型
		$content->addConnect(C('cms_database'),1);  //连接数据库
		$content->switchConnect(1);  //切换数据库连接
		$content->table("dz_news"); //设置操作的数据表
		$list=$content->limit(5)->select(); //查询
		$content->closeConnect(1); 
当然,你也可以建立一个模型来进行操作。

给我留言

留言无头像?


×
腾讯微博