没有合适的资源?快使用搜索试试~ 我知道了~
本文实例讲述了php实现的mysqldb读写分离操作类。分享给大家供大家参考,具体如下: /** * php MysqlDB 读写分离类 * ----------------------------------------------------- * $Source: http://code.ilaopo.net/php.class.mysqldb $ * $Author: Bevin Chen $ * $Email: bevin#lifa8.cn $ * $Date: 2009-10-10 $ * ---------------------------------------------
资源详情
资源评论
资源推荐
php实现的实现的mysqldb读写分离操作类示例读写分离操作类示例
本文实例讲述了php实现的mysqldb读写分离操作类。分享给大家供大家参考,具体如下:
/**
* php MysqlDB 读写分离类
* -----------------------------------------------------
* $Source: http://code.ilaopo.net/php.class.mysqldb $
* $Author: Bevin Chen $
* $Email: bevin#lifa8.cn $
* $Date: 2009-10-10 $
* -----------------------------------------------------
*/
class mysqldb {
var $querynum = 0;
var $linkr,$linkw,$charset,$pconnect,$dbconfig;
function __constructor($dbarray) {
$this->mysqldb($dbarray);
}
function mysqldb($dbarray,$dbcharset='utf8',$pcontent=0) {
if(!is_array($dbarray[0])) {
echo "数据库参数错误";
return false;
}
$this->charset = $dbcharset;
$this->pconnect = $pconnect;
$this->dbconfig['master'] = $dbarray[0];
$dbServerNum = count($dbarray);
if($dbServerNum > 1) {
/*
* 当x=1 时,$dbarray[0]不作slave
* 当x=0 时,$dbarray[0]作slave
*/
$x = 1;
$rand = rand($x,$dbServerNum-1);
$this->dbconfig['slave'] = $dbarray[$rand];
} else {
$this->dbconfig['slave'] = false;
}
}
function connect($dbhost,$dbuser,$dbpw,$dbname) {
if($this->pconnect) {
$link = @mysql_pconnect($dbhost, $dbuser, $dbpw);
} else {
$link = @mysql_connect($dbhost, $dbuser, $dbpw, 1);
}
if($link) {
if($this->version($link) > '4.1') {
if($this->charset) {
@mysql_query("SET character_set_connection=".$this->charset.", character_set_results=".$this->charset.", character_set_client=binary", $link);
}
if($this->version($link) > '5.0.1') {
@mysql_query("SET sql_mode=''", $link);
}
}
if($dbname) {
@mysql_select_db($dbname, $link);
}
//print_r($link);
return $link;
} else {
return false;
}
}
function connectM() {
if(!$this->linkw = $this->connect($this->dbconfig['master'][0],$this->dbconfig['master'][1],$this->dbconfig['master'][2],$this->dbconfig['master'][3])) {
exit("主数据库连接失败!");
}
//echo "<br>##connectM!.<br>";
}
function connectS() {
if($this->dbconfig['slave']) {
if(!$this->linkr = $this->connect($this->dbconfig['slave'][0],$this->dbconfig['slave'][1],$this->dbconfig['slave'][2],$this->dbconfig['slave'][3])) {
$this->dbconfig['slave'] = false;
$this->connectS();
}
//echo "<br>##connectS!.<br>";
} else {
weixin_38628612
- 粉丝: 8
- 资源: 942
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- #P0015. 全排列 超级简单
- pta题库答案c语言之排序4统计工龄.zip
- pta题库答案c语言之树结构7堆中的路径.zip
- pta题库答案c语言之树结构3TreeTraversalsAgain.zip
- pta题库答案c语言之树结构2ListLeaves.zip
- pta题库答案c语言之树结构1树的同构.zip
- 基于C++实现民航飞行与地图简易管理系统可执行程序+说明+详细注释.zip
- pta题库答案c语言之复杂度1最大子列和问题.zip
- 三维装箱问题(Three-Dimensional Bin Packing Problem,3D-BPP)是一个经典的组合优化问题
- 以下是一些关于Linux线程同步的基本概念和方法.txt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0