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控制用户的浏览器--ob*函数的使用说明
Mar 16 PHP
php简单提示框alert封装函数
Aug 08 PHP
PHP计数器的实现代码
Jun 08 PHP
整理php防注入和XSS攻击通用过滤
Sep 13 PHP
php mysqli查询语句返回值类型实例分析
Jun 29 PHP
PHP与jquery实时显示网站在线人数实例详解
Dec 02 PHP
PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析
Feb 04 PHP
php实时倒计时功能实现方法详解
Feb 27 PHP
详解cookie验证的php应用的一种SSO解决办法
Oct 20 PHP
PHPTree――php快速生成无限级分类
Mar 30 PHP
thinkPHP实现基于ajax的评论回复功能
Jun 22 PHP
thinkPHP框架实现的简单计算器示例
Dec 07 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
phpcms手机内容页面添加上一篇和下一篇
2015/06/05 PHP
PHP使用标准库spl实现的观察者模式示例
2018/08/04 PHP
JavaScript通过字典进行字符串翻译转换的方法
2015/03/19 Javascript
JS实现超精简响应鼠标显示二级菜单代码
2015/09/12 Javascript
JavaScript使用DeviceOne开发实战(二) 生成调试安装包
2015/12/01 Javascript
详解AngularJS中的http拦截
2016/02/09 Javascript
JavaScript函数参数的传递方式详解
2017/03/06 Javascript
使用JS和canvas实现gif动图的停止和播放代码
2017/09/01 Javascript
浅谈Vue路由快照实现思路及其问题
2018/06/07 Javascript
微信小程序实现自定义加载图标功能
2018/07/19 Javascript
vue input标签通用指令校验的实现
2019/11/05 Javascript
Nodejs 数组的队列以及forEach的应用详解
2021/02/25 NodeJs
[56:46]Liquid vs IG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python client使用http post 到server端的代码
2013/02/10 Python
python类继承用法实例分析
2014/10/10 Python
Python中的with语句与上下文管理器学习总结
2016/06/28 Python
python实现浪漫的烟花秀
2019/01/30 Python
Python3.5内置模块之time与datetime模块用法实例分析
2019/04/27 Python
详解python中__name__的意义以及作用
2019/08/07 Python
python解释器pycharm安装及环境变量配置教程图文详解
2020/02/26 Python
Python处理mysql特殊字符的问题
2020/03/02 Python
Python如何测试stdout输出
2020/08/10 Python
一文读懂Python 枚举
2020/08/25 Python
瑜伽灵感珠宝:Satya Jewelry
2018/01/06 全球购物
匈牙利最大的健身制造商和销售商:inSPORTline
2018/10/30 全球购物
一套软件测试笔试题
2014/07/25 面试题
大学生村官任职感言
2014/01/09 职场文书
科研先进个人典型材料
2014/01/31 职场文书
初中军训感想300字
2014/03/05 职场文书
高考寄语大全
2014/04/08 职场文书
工业设计毕业生自荐信
2014/04/13 职场文书
2014年党小组工作总结
2014/12/20 职场文书
幼儿园体操比赛口号
2015/12/25 职场文书
残联2016年全国助残日活动总结
2016/04/01 职场文书
python函数指定默认值的实例讲解
2021/03/29 Python
python代码实现备忘录案例讲解
2021/07/26 Python