>  기사  >  백엔드 개발  >  Mysql 작업 클래스의 PHP 캡슐화에 대한 자세한 설명

Mysql 작업 클래스의 PHP 캡슐화에 대한 자세한 설명

*文
*文원래의
2018-01-05 18:01:322306검색

PHP로 구현된 mysql 연산 클래스의 정식 버전이 사용되었으며, 이 단순화된 버전은 정식 버전을 수정한 후 단순화된 버전으로, 추가, 삭제, 수정의 기본 연산을 구현할 수 있습니다. MYSQL 오류를 인쇄하는 것 외에도 웹사이트 애플리케이션이 그다지 강력하지 않다면 이 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.