PHP实现的mysql读写分离操作示例


Posted in PHP onMay 22, 2018

本文实例讲述了PHP实现的mysql读写分离操作。分享给大家供大家参考,具体如下:

首先mysql主从需配置好,基本原理就是判断sql语句是否是select,是的话走master库,否则从slave查

<?php
/**
* mysql读写分离
*/
class db{
  public function __construct($sql){
    $chestr = strtolower(trim($sql));
    //判断sql语句有select关键字的话,就连接读的数据库,否则就连接写数据库
    if(substr($chestr,0,6)=='select')
    {
      echo 'I am using slave db..<br>';
      $link = mysql_connect("192.168.20.201:3306", "open", "123456") or die("Could not connect: " . mysql_error());
      mysql_select_db("hadoop");
      $result = mysql_query($sql);
      while($row = mysql_fetch_array($result,MYSQL_ASSOC)){
        $data[]=$row;
      }
      //print_r($data);exit;
      echo mysql_get_host_info($link).mysql_get_server_info($link).mysql_get_proto_info($link).mysql_get_client_info().'<br>';
    }else{
      echo 'I am using master db..<br>';
      $link = mysql_connect("192.168.20.195:3306","open","123456") or die("Could not connect: " . mysql_error());
      mysql_select_db("hadoop");
      $result = mysql_query($sql);
      //echo @mysql_affected_rows($result);
      echo mysql_get_host_info($link).mysql_get_server_info($link).mysql_get_proto_info($link).mysql_get_client_info().'<br>';
    }
  }
}
$master = new db("INSERT INTO user (id,name)VALUES (NULL,'100')");
$slave = new db("SELECT * from `user`");

结果:

I am using master db..
192.168.20.195 via TCP/IP5.1.73-log10mysqlnd 5.0.8-dev - 20102224 - $Id: 731e5b87ba42146a687c29995d2dfd8b4e40b325 $
I am using slave db..
192.168.20.201 via TCP/IP5.1.73-log10mysqlnd 5.0.8-dev - 20102224 - $Id: 731e5b87ba42146a687c29995d2dfd8b4e40b325 $

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
用PHP+MySQL搭建聊天室功能实例代码
Aug 20 PHP
深入解析php中的foreach问题
Jun 30 PHP
php实现上传图片生成缩略图示例
Apr 13 PHP
神盾加密解密教程(二)PHP 神盾解密
Jun 08 PHP
PHP实现克鲁斯卡尔算法实例解析
Aug 22 PHP
php禁止浏览器使用缓存页面的方法
Nov 07 PHP
PHP缓存集成库phpFastCache用法
Dec 15 PHP
PHP定时执行任务的3种方法详解
Dec 21 PHP
Joomla数据库操作之JFactory::getDBO用法
May 05 PHP
php下载文件,添加响应头的简单实例
Sep 22 PHP
PHP小程序支付功能完整版【基于thinkPHP】
Mar 26 PHP
Laravel 微信小程序后端搭建步骤详解
Nov 26 PHP
PHP基于pdo的数据库操作类【可支持mysql、sqlserver及oracle】
May 21 #PHP
PHP+MariaDB数据库操作基本技巧备忘总结
May 21 #PHP
PhpStorm本地断点调试的方法步骤
May 21 #PHP
PHP自动识别当前使用移动终端
May 21 #PHP
PHP连接MySQL数据库并以json格式输出
May 21 #PHP
PHP 访问数据库配置通用方法(json)
May 20 #PHP
PHP生成腾讯云COS接口需要的请求签名
May 20 #PHP
You might like
PHP操作MongoDB GridFS 存储文件的详解
2013/06/20 PHP
关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
2015/12/21 PHP
centos 7.2下搭建LNMP环境教程
2016/11/20 PHP
Laravel使用swoole实现websocket主动消息推送的方法介绍
2019/10/20 PHP
Javascript hasOwnProperty 方法 &amp; in 关键字
2008/11/26 Javascript
window.parent与window.openner区别介绍
2012/04/12 Javascript
javascript监听鼠标滚轮事件浅析
2014/06/05 Javascript
jQuery遍历之next()、nextAll()方法使用实例
2014/11/08 Javascript
浅析AngularJS中的生命周期和延迟处理
2015/06/18 Javascript
探讨JavaScript语句的执行过程
2016/01/28 Javascript
Bootstrap零基础入门教程(三)
2016/07/18 Javascript
AngularJS 中的事件详解
2016/07/28 Javascript
JS实现滑动门效果的方法详解
2016/12/19 Javascript
vue父子组件的嵌套的示例代码
2017/09/08 Javascript
JavaScript类的继承方法小结【组合继承分析】
2018/07/11 Javascript
前端js中的事件循环eventloop机制详解
2019/05/15 Javascript
vue中进行微博分享的实例讲解
2019/10/14 Javascript
python根据出生年份简单计算生肖的方法
2015/03/27 Python
python将ansible配置转为json格式实例代码
2017/05/15 Python
Python模拟脉冲星伪信号频率实例代码
2018/01/03 Python
Python实现PS滤镜功能之波浪特效示例
2018/01/26 Python
谈谈python中GUI的选择
2018/03/01 Python
在cmd命令行里进入和退出Python程序的方法
2018/05/12 Python
Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例
2020/02/11 Python
Python使用matplotlib绘制圆形代码实例
2020/05/27 Python
keras中的loss、optimizer、metrics用法
2020/06/15 Python
CSS3提交意见输入框样式代码
2014/10/30 HTML / CSS
瑞典网上购买现代和复古家具:Reforma
2019/10/21 全球购物
英国在线药房和在线药剂师:Chemist 4 U
2020/01/05 全球购物
写一个函数返回1+2+3+…+n的值(假定结果不会超过长整型变量的范围)
2014/09/05 面试题
前台文员岗位职责
2013/12/28 职场文书
2014年党建工作总结
2014/11/11 职场文书
律师函格式范本
2015/05/27 职场文书
2015年民兵整组工作总结
2015/07/24 职场文书
pandas中DataFrame检测重复值的实现
2021/05/26 Python
在Spring-Boot中如何使用@Value注解注入集合类
2021/08/02 Java/Android