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

 更新时间:2018年05月22日 10:23:09   作者:爱代码也爱生活  
这篇文章主要介绍了PHP实现的mysql读写分离操作,简单讲述了mysql读写分离的原理,并结合实例形式给出了php针对mysql的读写sql语句操作不同数据库的相关实现技巧,需要的朋友可以参考下

本文实例讲述了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+mysql数据库操作入门教程》、《php+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总

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

相关文章

  • PHP针对redis常用操作实例详解

    PHP针对redis常用操作实例详解

    这篇文章主要介绍了PHP针对redis常用操作,结合实例形式详细分析了PHP针对Redis连接、增删改查及各种常用运算操作技巧,需要的朋友可以参考下
    2019-08-08
  • 详解配置 Apache 服务器支持 PHP 文件的解析

    详解配置 Apache 服务器支持 PHP 文件的解析

    这篇文章主要介绍了详解配置 Apache 服务器支持 PHP 文件的解析的相关资料,需要的朋友可以参考下
    2017-02-02
  • PHP程序中的文件锁、互斥锁、读写锁使用技巧解析

    PHP程序中的文件锁、互斥锁、读写锁使用技巧解析

    这篇文章主要介绍了PHP程序中的文件锁、互斥锁、读写锁使用技巧解析,其中重点讲解了sync模块和pthreads模块中的使用实例,需要的朋友可以参考下
    2016-03-03
  • PHP生成UTF8文件的方法

    PHP生成UTF8文件的方法

    先用函数utf8_encode将所需写入的数据变成UTF编码格式。
    2010-05-05
  • php实现插入排序

    php实现插入排序

    本文给大家分享的是使用php实现插入排序的方法,十分的简单实用,有需要的小伙伴可以参考下。
    2015-03-03
  • 比较简单的百度网盘文件直链PHP代码

    比较简单的百度网盘文件直链PHP代码

    通过正则表达式获取百度网盘的文件真实地址,来实现直链的效果
    2013-03-03
  • php中转义mysql语句的实现代码

    php中转义mysql语句的实现代码

    如果你需要向数据库,插入形如’你好’,这样包含有单引号或者双引号的字符串怎么办,当然可以使用反斜杠进行转义,但是如果内容太多呢?
    2011-06-06
  • PHP使用strstr()函数获取指定字符串后所有字符的方法

    PHP使用strstr()函数获取指定字符串后所有字符的方法

    这篇文章主要介绍了PHP使用strstr()函数获取指定字符串后所有字符的方法,结合实例形式较为详细的分析了PHP中strstr()函数用于字符串截取的使用技巧,需要的朋友可以参考下
    2016-01-01
  • PHP与MySQL开发中页面乱码的产生与解决

    PHP与MySQL开发中页面乱码的产生与解决

    一般来说,乱码的出现有2种原因,首先是由于编码(charset)设置错误,导致浏览器以错误的编码来解析,从而出现了满屏乱七八糟的“天书”,其次是文件被以错误的编码打开,然后保存,比如一个文本文件原先是GB2312编码的,却以UTF-8编码打开再保存。要解决上述乱码问题,首先需要知道开发中哪些环节涉及到了编码:
    2008-03-03
  • 详解WordPress开发中的get_post与get_posts函数使用

    详解WordPress开发中的get_post与get_posts函数使用

    这篇文章主要介绍了WordPress开发中的get_post与get_posts函数使用,其中一般使用get_posts()函数来返回文章数组而较少使用get_post(),需要的朋友可以参考下
    2016-01-01

最新评论