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


Posted in PHP onAugust 22, 2014

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

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

代码如下所示:

<?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文件代码如下:

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

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

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

三、主从数据库设置

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

config.php文件设置如下:

<?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中读取数据库文件参数:

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

这个action下的tpl:

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

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

PHP 相关文章推荐
php&amp;java(二)
Oct 09 PHP
DedeCms模板安装/制作概述
Mar 11 PHP
php将数据库导出成excel的方法
May 07 PHP
PHP原生模板引擎 最简单的模板引擎
Apr 25 PHP
解析php下载远程图片函数 可伪造来路
Jun 25 PHP
php实现文件下载功能的几个代码分享
May 10 PHP
Symfony2学习笔记之插件格式分析
Mar 17 PHP
PHP文件下载实例代码浅析
Aug 17 PHP
php基于自定义函数记录log日志方法
Jul 21 PHP
PHP实现简单的模板引擎功能示例
Sep 02 PHP
PHP-FPM 设置多pool及配置文件重写操作示例
Oct 02 PHP
Mac下关于PHP环境和扩展的安装详解
Oct 17 PHP
ThinkPHP实例化模型的四种方法概述
Aug 22 #PHP
ThinkPHP中的create方法与自动令牌验证实例教程
Aug 22 #PHP
ThinkPHP基本的增删查改操作实例教程
Aug 22 #PHP
ThinkPHP自动填充实现无限级分类的方法
Aug 22 #PHP
ThinkPHP验证码和分页实例教程
Aug 22 #PHP
ThinkPHP文件上传实例教程
Aug 22 #PHP
ThinkPHP中ajax使用实例教程
Aug 22 #PHP
You might like
Php Ctemplate引擎开发相关内容
2012/03/03 PHP
浅谈php冒泡排序
2014/12/30 PHP
使用新浪微博API的OAuth认证发布微博实例
2015/03/27 PHP
ThinkPHP中where()使用方法详解
2016/04/19 PHP
php的api数据接口书写实例(推荐)
2016/09/22 PHP
PHP Socket网络操作类定义与用法示例
2017/08/30 PHP
PHP排序算法之基数排序(Radix Sort)实例详解
2018/04/21 PHP
javascript 解决表单仍然提交即使监听处理函数返回false
2010/03/14 Javascript
JQuery中each()的使用方法说明
2010/08/19 Javascript
js导出格式化的excel 实例方法
2013/07/17 Javascript
深入理解Javascript中的循环优化
2013/11/09 Javascript
js中的cookie的读写操作示例详解
2014/04/17 Javascript
jQuery中innerWidth()方法用法实例
2015/01/19 Javascript
js实现固定显示区域内自动缩放图片的方法
2015/07/18 Javascript
vue.js入门教程之基础语法小结
2016/09/01 Javascript
深入理解在JS中通过四种设置事件处理程序的方法
2017/03/02 Javascript
ES6中Proxy代理用法实例浅析
2017/04/06 Javascript
BootStrap模态框不垂直居中的解决方法
2017/10/19 Javascript
微信小程序实现点击按钮修改文字大小功能【附demo源码下载】
2017/12/06 Javascript
浅析JS中什么是自定义react数据验证组件
2018/10/19 Javascript
使用taro开发微信小程序遇到的坑总结
2019/04/08 Javascript
nuxt静态部署打包相对路径操作
2020/11/06 Javascript
python3.3实现乘法表示例
2014/02/07 Python
python决策树之C4.5算法详解
2017/12/20 Python
Python安装模块的常见问题及解决方法
2018/02/05 Python
Python数据分析库pandas基本操作方法
2018/04/08 Python
pandas通过索引进行排序的示例
2018/11/16 Python
一道Delphi上机题
2012/06/04 面试题
数控技术应届生求职信
2013/11/13 职场文书
会计电算化个人求职信范文
2014/01/24 职场文书
幼儿园中班教师寄语
2014/04/03 职场文书
代理人委托书
2014/09/16 职场文书
2015年街道除四害工作总结
2015/05/15 职场文书
2016新年晚会开场白
2015/12/03 职场文书
2016年师德先进个人事迹材料
2016/02/29 职场文书
导游词之白茶谷九龙峡
2019/10/23 职场文书