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

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

108次阅读
没有评论

共计 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精品国产麻豆婷婷 | 中文字幕久久第13页 | 欧美一级淫片a免费播放口aaa | 99久久国产综合精品网成人影院 | 国产精品久久无码一区二区三区网 | 久草欧美 | 特级黄色一级片 | 亚洲综合色无码 | 美女张腿男人桶免费视频 | 少妇被后进高潮动态图gif | 91亚洲精品国产第一区 | 午夜小影院 | 国产日韩欧美在线观看不卡 | 永久免费无码av网站在线观看 | 成年人免费小视频 | 丰满人妻av无码一区二区三区 | 亚洲精品视频免费在线观看 | 一个人看的www日本高清视频 | 毛片a级三毛片免费播放 | 成熟了的熟妇毛茸茸 | 天天射天天干天天 | 无码h黄肉动漫在线观看网站 | 自拍偷自拍亚洲精品情侣 | 欧美午夜精品久久久久久浪潮 | 色琪琪综合网站 | 思思久久好好热精品国产 | 国产午夜视频在线观看第四页 | 91精品视频观看 | 99热这里只有精品在线观看 | 欧美色久 |