ThinkPHP连接数据库及主从数据库的设置教程

时间:2021-12-06 18:37:10

本文较为详细的讲述了ThinkPHP连接数据库主从数据库的设置方法,在ThinkPHP项目开发中非常实用。具体实现方法如下:

一、项目根目录上建立config.php

代码如下所示:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
 if(!defined('THINK_PATH')) exit();
 return array(
  'DB_TYPE'    =>  'mysql',// 数据库类型 
  'DB_HOST'    =>  'localhost',// 主机
  'DB_NAME'    =>  'aoli',// 数据库名称
  'DB_USER'    =>  'root',// 数据库用户名
  'DB_PWD'     =>  '',// 数据库密码
  'DB_PREFIX'   =>  '',// 数据表前缀
  'DB_CHARSET'   =>  'utf8',// 网站编码
  'DB_PORT'    =>  '3306',// 数据库端口
 );
?>

二、设置项目配置文件

\Home\Conf\config.php文件代码如下:

?
1
2
3
4
5
6
7
<?php
 $arr1=array{
  'URL_MODEL'=>2, //pathinfo访问模式
 };
 $arr2=include './config.php';
 return array_merge($arr1,$arr2); //数组整合
?>

\Admin\Conf\config.php文件代码如下:

?
1
2
3
4
5
6
7
<?php
 $arr1=array{
  'URL_MODEL'=>1, //普通访问模式 get方式
 };
 $arr2=include './config.php';
 return array_merge($arr1,$arr2); //数组整合
?>

三、主从数据库设置

该设置比较适合高并发,高负载的大型网站
读者可以到\ThinkPHP\Common\convention.php中查看默认的系统常量设置

config.php文件设置如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
  return array(
  //'配置项'=>'配置值'
  //后台
  'URL_MODE'=>0,
  'DB_TYPE'=>'mysql',
  'DB_HOST'=>'localhost,192.168.1.2',//两台数据库服务器
  'DB_PORT'=>'3306',
  'DB_NAME'=>'thinkphptest',//如果数据库名相同,不用定义多个,如果不相同与服务器依次对应
  'DB_USER'=>'root',
  'DB_PWD'=>'password',
  //表前缀
  'DB_PREFIX'=>'think_',
  //接下来配置主从数据库
  'DB_DEPLOY_TYPE'=>1,//开启分布式数据库
  'DB_RW_SEPARATE'=>ture,//读写分离,默认第一台服务器为写入服务器,其它的只读取不写入
  );
?>

在某个action中读取数据库文件参数:

?
1
2
3
4
5
$hh=C('DB_HOST'); //C可以读取配置文件中的值
$pp=C('DB_PREFIX');
$this->assain('h',$hh);
$this->assain('p',$pp);
$this->display();

这个action下的tpl:

?
1
2
数据库服务器地址:{$h}
数据库表前缀:{$p}

希望本文所述方法对大家的ThinkPHP程序设计能有所帮助。