Maison > développement back-end > tutoriel php > Contenu connexe de la séparation lecture-écriture MySQL implémentée par PHP

Contenu connexe de la séparation lecture-écriture MySQL implémentée par PHP

jacklove
Libérer: 2023-04-01 18:10:02
original
1477 Les gens l'ont consulté

Cet article présente principalement l'opération de séparation de lecture et d'écriture mysql implémentée par PHP. Il décrit brièvement le principe de la séparation de lecture et d'écriture mysql et le combine avec des exemples pour fournir des techniques d'implémentation pertinentes pour les instructions SQL de lecture et d'écriture de PHP pour mysql. exploiter différentes bases de données., Les amis dans le besoin peuvent se référer à

Cet article décrit l'opération de séparation mysql lecture-écriture implémentée par PHP. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Tout d'abord, le maître et l'esclave MySQL doivent être configurés. Le principe de base est de déterminer si l'instruction SQL est sélectionnée. Si tel est le cas, accédez à. la bibliothèque principale, sinon vérifiez depuis l'esclave

<?php
/**
* mysql读写分离
*/
class db{
  public function __construct($sql){
    $chestr = strtolower(trim($sql));
    //判断sql语句有select关键字的话,就连接读的数据库,否则就连接写数据库
    if(substr($chestr,0,6)==&#39;select&#39;)
    {
      echo &#39;I am using slave db..<br>&#39;;
      $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().&#39;<br>&#39;;
    }else{
      echo &#39;I am using master db..<br>&#39;;
      $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().&#39;<br>&#39;;
    }
  }
}
$master = new db("INSERT INTO user (id,name)VALUES (NULL,&#39;100&#39;)");
$slave = new db("SELECT * from `user`");
Copier après la connexion

Résultat :

J'utilise master db..
192.168.20.195 via TCP/IP5.1.73-log10mysqlnd 5.0.8 -dev - 20102224 - $Id : 731e5b87ba42146a687c29995d2dfd8b4e40b325 $
J'utilise une base de données esclave..
192.16 8.20.201 via TCP/IP5.1.73-log10mysqlnd 5.0 .8-dev - 20102224 - $Id: 731e5b87ba42146a687c29995d2dfd8b4e40b325 $

Articles qui pourraient vous intéresser :

Comment compresser plusieurs fichiers en zip formatez-les et téléchargez-les localement en PHP

Exemple de la façon dont PHP parcourt les dossiers de manière récursive pour supprimer les commentaires et compresser le code source php

Exemple d'implémentation simple d'un modèle de fabrique PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal