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&amp;mysql(二)
Oct 09 PHP
PHP的FTP学习(一)
Oct 09 PHP
PHP静态新闻列表自动生成代码
Jun 14 PHP
php cookie 登录验证示例代码
Mar 16 PHP
PHP实现今天是星期几的几种写法
Sep 26 PHP
Drupal简体中文语言包安装教程
Sep 27 PHP
php命令行用法入门实例教程
Oct 27 PHP
php curl请求信息和返回信息设置代码实例
Apr 27 PHP
php+ajax制作无刷新留言板
Oct 27 PHP
php Session无效分析资料整理
Nov 29 PHP
使用PHP连接多种数据库的实现代码(mysql,access,sqlserver,Oracle)
Dec 21 PHP
ThinkPHP3.2.3框架邮件发送功能图文实例详解
Apr 23 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
THINKPHP2.0到3.0有哪些改进之处
2015/01/04 PHP
[企业公众号]升级到[企业微信]之后发送消息失败的解决方法
2017/06/30 PHP
php unlink()函数使用教程
2018/07/12 PHP
使用swoole 定时器变更超时未支付订单状态的解决方案
2019/07/24 PHP
JavaScript与Div对层定位和移动获得坐标的实现代码
2010/09/08 Javascript
jQuery 表单验证扩展代码(二)
2010/10/20 Javascript
jQuery控制iFrame(实例代码)
2013/11/19 Javascript
javascript中打印当前的时间实现思路及代码
2013/12/18 Javascript
javascript动态判断html元素并执行不同的操作
2014/06/16 Javascript
Javascript基础教程之JavaScript语法
2015/01/18 Javascript
JavaScript将一个数组插入到另一个数组的方法
2015/03/19 Javascript
基于Jquery+div+css实现弹出登录窗口(代码超简单)
2015/10/27 Javascript
JavaScript的Backbone.js框架的一些使用建议整理
2016/02/14 Javascript
浅谈js的url解析函数封装
2016/06/28 Javascript
真正好用的js验证上传文件大小的简单方法
2016/10/27 Javascript
谈谈jQuery之Deferred源码剖析
2016/12/19 Javascript
JS中with的替代方法与String中的正则方法详解
2016/12/23 Javascript
Javascript 一些需要注意的细节(必看篇)
2017/07/08 Javascript
ES6 Object方法扩展的应用实例分析
2019/06/25 Javascript
JavaScript函数IIFE使用详解
2019/10/21 Javascript
vue-cli设置css不生效的解决方法
2020/02/07 Javascript
[49:20]2014 DOTA2国际邀请赛中国区预选赛5.21 CIS VS TongFu
2014/05/22 DOTA
Python中使用tarfile压缩、解压tar归档文件示例
2015/04/05 Python
在Python中获取两数相除的商和余数方法
2018/11/10 Python
利用python在excel里面直接使用sql函数的方法
2019/02/08 Python
python3 BeautifulSoup模块使用字典的方法抓取a标签内的数据示例
2019/11/28 Python
深入了解NumPy 高级索引
2020/07/24 Python
python mongo 向数据中的数组类型新增数据操作
2020/12/05 Python
css3实现的下拉菜单效果示例
2014/01/22 HTML / CSS
详解CSS 3 中的 calc() 方法
2018/01/12 HTML / CSS
让IE支持HTML5的方法
2012/12/11 HTML / CSS
HTML5的新特性(1)
2016/03/03 HTML / CSS
SOA面试题:如何在SOA中实现松耦合
2013/07/21 面试题
兼职业务员岗位职责
2014/01/01 职场文书
演讲稿格式
2014/04/30 职场文书
python数据可视化JupyterLab实用扩展程序Mito
2021/11/20 Python