在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

php中怎么实现Mysql读写分离操作

127次阅读
没有评论

共计 3739 个字符,预计需要花费 10 分钟才能阅读完成。

php 中怎么实现 Mysql 读写分离操作,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面丸趣 TV 小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

连接案例:

 ?php
require_once(mysql_rw_php.class.php
$db_rw = array(
dbhost = www.aslibra.com ,
dbuser = aslibra ,
dbpw = www.aslibra.com ,
dbname = test
$db_ro = array(
array(
dbhost = www.aslibra.com:4306 ,
dbuser = aslibra ,
dbpw = www.aslibra.com
$DB = new mysql_rw_php;
// 写入连接,单服务器操作
$DB- connect($db_rw[dbhost], $db_rw[dbuser], $db_rw[dbpw], $db_rw[dbname]); 
// 读取连接,可以多服务器操作
$DB- connect_ro($db_ro[0][dbhost], $db_ro[0][dbuser], $db_ro[0][dbpw]);
$DB- set_ro_list($db_ro);

function connect($dbhost, $dbuser, $dbpw, $dbname =  , $pconnect = 0, $halt = TRUE) {
if($pconnect) {
if(!$this- link = @mysql_pconnect($dbhost, $dbuser, $dbpw)) {
$halt   $this- halt(Can not connect to MySQL server
} else {
if(!$this- link = @mysql_connect($dbhost, $dbuser, $dbpw)) {
$halt   $this- halt(Can not connect to MySQL server
// 只读连接失败
if(!$this- link   !$halt) return false;
// 未初始化 rw 时,第一个连接作为 rw
if($this- link_rw == null)
$this- link_rw = $this- link;
if($this- version()    4.1 ) {
if($this- charset) {
@mysql_query(SET character_set_connection=$this- charset, character_set_results=$this- charset, character_set_client=binary , $this- link);
if($this- version()    5.0.1 ) {
@mysql_query(SET sql_mode= , $this- link);
if($dbname) {
$this- select_db($dbname);
// 连接一个只读的 mysql 数据库
function connect_ro($dbhost, $dbuser, $dbpw, $dbname =  , $pconnect = 0){
if($this- link_rw == null)
$this- link_rw = $this- link;
$this- link = null;
// 不产生 halt 错误
$this- connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect, false);
if($this- link){
// 连接成功
//echo  link ro sussess! br
$this- ro_exist = true;
$this- link_ro = $this- link;
if($this- cur_db){
// 如果已经选择过数据库则需要操作一次
@mysql_select_db($this- cur_db, $this- link_ro);
}else{
// 连接失败
//echo  link ro failed! br
$this- link =  $this- link_rw;
// 设置一系列只读数据库并且连接其中一个
function set_ro_list($ro_list){
if(is_array($ro_list)){
// 随机选择其中一个
$link_ro = $ro_list[array_rand($ro_list)];
$this- connect_ro($link_ro[ dbhost], $link_ro[dbuser], $link_ro[dbpw
function select_db($dbname) {
// 同时操作两个数据库连接
$this- cur_db = $dbname;
if($this- ro_exist){
@mysql_select_db($dbname, $this- link_ro);
return @mysql_select_db($dbname, $this- link_rw);
function fetch_array($query, $result_type = MYSQL_ASSOC) {
return mysql_fetch_array($query, $result_type);
function fetch_one_array($sql, $type = ) {
$qr = $this- query($sql, $type);
return $this- fetch_array($qr);
function query($sql, $type = ) {
$this- link =  $this- link_rw;
// 判断是否 select 语句
if($this- ro_exist   preg_match ( /^(\s*)select/i , $sql)){
$this- link =  $this- link_ro;
$func = $type ==  UNBUFFERED    @function_exists(mysql_unbuffered_query) ?
mysql_unbuffered_query  :  mysql_query
if(!($query = $func($sql, $this- link))   $type !=  SILENT ) {
$this- halt(MySQL Query Error , $sql);
$this- querynum++;
return $query;
function affected_rows() {
return mysql_affected_rows($this- link);
function error() {
return (($this- link) ? mysql_error($this- link) : mysql_error());
function errno() {
return intval(($this- link) ? mysql_errno($this- link) : mysql_errno());
function result($query, $row) {
$query = @mysql_result($query, $row);
return $query;
function num_rows($query) {
$query = mysql_num_rows($query);
return $query;
function num_fields($query) {
return mysql_num_fields($query);
function free_result($query) {
return mysql_free_result($query);
function insert_id() {
return ($id = mysql_insert_id($this- link))  = 0 ? $id : $this- result($this- query( SELECT last_insert_id() ), 0);
function fetch_row($query) {
$query = mysql_fetch_row($query);
return $query;
function fetch_fields($query) {
return mysql_fetch_field($query);
function version() {
return mysql_get_server_info($this- link);
function close() {
return mysql_close($this- link);
function halt($message =  , $sql = ) {
$dberror = $this- error();
$dberrno = $this- errno();
echo  div  >

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注丸趣 TV 行业资讯频道,感谢您对丸趣 TV 的支持。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-03发表,共计3739字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 一二三四国语在线观看视频 | 欧美人在线视频 | 99香蕉国产精品偷在线观看 | 黄色大片网 | 少妇真人直播免费视频 | 久久久精品影院 | 人妻互换一二三区激情视频 | 亚洲欧美在线视频观看 | 美女翘臀白浆直流视频 | 四虎免费紧急入口观看 | 伊人久久大香线蕉av最新午夜 | 91在线精品你懂的免费 | 国产成人在线视频免费观看 | 99久久综合精品国产 | 大地资源在线观看免费下载 | 亚洲国产成人精品无码区99 | 欧美视频在线观 | 日本最大色倩网站www | 人妻人人澡人人添人人爽人人玩 | 国产精品视_精品国产免费 国产精品视频1区 | 人人精品 | 国内揄拍国内精品人妻 | 国产精品99久久99久久久动漫 | 巨胸喷奶水www视频网站 | 韩国精品一区二区三区在线观看 | 精品人妻少妇一区二区三区在线 | vr成人片在线播放网站 | 日本苍井一级毛片 | 国产高清中文字幕 | 欧美特黄一免在线观看 | 国产精品日韩高清在线蜜芽 | 久久婷婷五月综合色国产香蕉 | 欧洲熟妇色xxxx欧美老妇免费 | 欧美一区福利 | 中文亚洲av片在线观看 | 四虎最新网址 | 在线播放交视频 | 人妻丰满熟妇av无码区乱 | 午夜免费福利片 | 我不卡手机在线观看 | 欧美一区二区激情视频 |