ホームページ  >  記事  >  バックエンド開発  >  Mysql操作クラスのPHPカプセル化の詳細説明

Mysql操作クラスのPHPカプセル化の詳細説明

*文
*文オリジナル
2018-01-05 18:01:322350ブラウズ

PHP で実装されている mysql 操作クラスの完全版は以前から使用されており、この簡易版は完全版を修正したものであり、一般的な PHP アプリケーションに適した追加、削除、変更の基本的な操作を実現できます。 MYSQL エラーを出力するだけでなく、Web サイトのアプリケーションがそれほど強力でない場合は、この MYSQL 操作クラスを適用するだけで十分だと思います。お役に立てれば幸いです。

私がカプセル化した Mysql の単純な操作クラスを Ben フレームワークに詰め込んで、PDO に基づいて記述しました。コード スタイルは少しナンセンスです。 。 。

mysql.class.php

<?php
class mysql extends PDO{
  public $server;
  public $database;
  public $user;
  public $password;
  public $sql;
  public function __construct($server,$database,$user,$password,$port=3306){
    $this->server = $server;
    $this->database = $database;
    $this->user = $user;
    $this->password = $password;
    parent::__construct("mysql:host=$server;port=$port;dbname=$database",$user,$password);
    $this->query(&#39;SET NAMES utf8&#39;);
  }
  public function drop($table){
    $sql = &#39;DROP TABLE &#39;.$table.&#39;;&#39;;
    $re = $this->query($sql);
    if($re){
      return true;
    }else{
      return false;
    }
  }
  public function insert($table,$name,$value=null){
    $sql = "INSERT INTO ".$table.&#39;(&#39;;
    if($value == null){
    $arrname = array_keys($name);
    $arrvalue = array_values($name);
    }else{
    $arrname = explode(&#39;|&#39;, $name);
    $arrvalue = explode(&#39;|&#39;, $value);
    }
    for($i=0;$i<count($arrname);$i++){
      if($i==count($arrname)-1){
        $sql = $sql.$arrname[$i];
      }else{
        $sql = $sql.$arrname[$i].",";
      }
    }
    $sql = $sql.")VALUES(";
    for($i=0;$i<count($arrvalue);$i++){
      if($i==count($arrvalue)-1){
        $sql = $sql."&#39;".$arrvalue[$i]."&#39;";
      }else{
        $sql = $sql."&#39;".$arrvalue[$i]."&#39;,";
      }
    }
    $sql .=");";
    $re = $this->query($sql);
    if($re){
      return true;
    }else{
      return false;
    }
  }
  public function delete($table,$Conditionsname,$Conditionsvalue=null){
    if($Conditionsvalue!=null){
      $sql = "DELETE FROM ".$table." WHERE ".$Conditionsname."=&#39;".$Conditionsvalue."&#39;;";
    }else{
      $sql = "DELETE FROM ".$table." WHERE ";
      $arrname = array_keys($Conditionsname);
      $arrvalue = array_values($Conditionsname);
      for($i=0;$i<count($arrname);$i++){
        if($i==count($arrname)-1){
          $sql.=$arrname[$i].&#39;=&#39;."&#39;".$arrvalue[$i]."&#39;";
        }else{
          $sql.=$arrname[$i].&#39;=&#39;."&#39;".$arrvalue[$i]."&#39;,";
        }
      }
      $sql.=&#39;;&#39;;
    }
    $re = $this->query($sql);
    if($re){
      return true;
    }else{
      return false;
    }
  }
  public function select($table,$name,$Conditionsname,$Conditionsvalue=null){
    if($Conditionsvalue!=null){
      $sql = "SELECT ".$name." FROM ".$table." WHERE ".$Conditionsname."=&#39;".$Conditionsvalue."&#39;;";
    }else{
      $sql = "SELECT ".$name." FROM ".$table." WHERE ";
      $arrname = array_keys($Conditionsname);
      $arrvalue = array_values($Conditionsname);
      for($i=0;$i<count($arrname);$i++){
        if($i==count($arrname)-1){
          $sql.=$arrname[$i].&#39;=&#39;."&#39;".$arrvalue[$i]."&#39;";
        }else{
          $sql.=$arrname[$i].&#39;=&#39;."&#39;".$arrvalue[$i]."&#39; and ";
        }
      }
      $sql.=&#39;;&#39;;
    }
    $re = $this->query($sql);
    $row = $re->fetch();
    return $row[$name];
  }
  public function update($table,$name,$value,$Conditionsname,$Conditionsvalue=null){
    if($Conditionsvalue!=null){
      $sql = "UPDATE ".$table." SET ".$name."= &#39;".$value."&#39; WHERE ".$Conditionsname."=&#39;".$Conditionsvalue."&#39;;";
    }else{
      $sql = "UPDATE ".$table." SET ".$name."= &#39;".$value."&#39; WHERE ";
      $arrname = array_keys($Conditionsname);
      $arrvalue = array_values($Conditionsname);
      for($i=0;$i<count($arrname);$i++){
        if($i==count($arrname)-1){
          $sql.=$arrname[$i].&#39;=&#39;."&#39;".$arrvalue[$i]."&#39;";
        }else{
          $sql.=$arrname[$i].&#39;=&#39;."&#39;".$arrvalue[$i]."&#39; and ";
        }
      }
      $sql.=&#39;;&#39;;
    }
    $re = $this->query($sql);
    if($re){
      return true;
    }else{
      return false;
    }
  }
  public function group($table,$name){
    $sql = "SELECT ".$name." FROM ".$table.";";
    $return = array();
    $re = $this->query($sql);
    while($row = $re->fetch(PDO::FETCH_ASSOC)){
      array_push($return,$row[$name]);
    }
    return $return;
  }
  public function fetchall($sql){
    $return = array();
    $re = $this->query($sql);
    while($row = $re->fetch(PDO::FETCH_ASSOC)){
      array_push($return,$row);
    }
    return $return;
  }
}

関連する推奨事項:

PHPのセッションデシリアライゼーションの脆弱性の詳細な説明

生徒の成績の安定性を計算するPHPの方法の詳細な説明

詳しい説明 PHPでデータベースをcsvファイルにエクスポートする方法

以上がMysql操作クラスのPHPカプセル化の詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。