您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> php编程 >> 正文

php实现的mysql数据库操作类

作者:佚名    责任编辑:admin    更新时间:2022-06-22

 这篇文章主要介绍了php实现的mysql数据库操作类,本文最后有使用方法,需要的朋友可以参考下

 代码如下: <?php /* 数据库操作类 */ class Mysql{  private $LocalHost = 'localhost';  private $LoaclUser = 'root';  private $LocalPass = '123456';  private $LocalBase = 'jiangxibaiyi';  private $LocalCode = 'UTF8';  private $PreFix;  private $Conn;  private $Start     = 0;  private $Error     = false; //数据库连接状态, false表示未连接或连接不正常  public  $Err       = true;  //Sql执行结果    private $Table;  private $Field     = '*';  private $Where     = '';  private $Order     = '';    private $PageSize  = 0; //分页显示->每页多少条,0为不分页显示  private $PageCount = 1; //分页显示->总共有多少条  private $PageNum   = 1; //分页显示->总共有多少页  private $PageNo    = 1; //分页显示->当前第几页  private $PageKey   = 'page'; //分页url参数键  private $PageStart = 0; //分页显示->当前从第几条开始返回      private $Select;  private $Rest;    private $Result    = false;//结果集    public $FormArray = array();    public $Instr_ID  = 0;  private $j =  0;      public function Parameter($Loca, $Root, $Pass, $Base, $Code, $PreFix = ''){   $this->LoaclUser = $Root;   $this->LocalBase = $Base;   $this->LocalCode = $Code;   $this->LocalHost = $Loca;   $this->LocalPass = $Pass;   $this->PreFix    = $PreFix;   return $this;  }  private function Connection( $Sql ){   !function_exists(mysqli_connect) ? die('查询失败,无法加载mysqli扩展') : null;   $this->Conn = @new mysqli( $this->LocalHost, $this->LoaclUser, $this->LocalPass, $this->LocalBase);   $this->Error = mysqli_connect_errno() == 0 ? true : false;   !$this->Error ? die('数据库连接错误,请检查数据库连接参数') : null;   $this->Conn->query('SET NAMES ' . $this->LocalCode);   $this->Rest = $this->Conn->query($Sql);   $this->Err  = mysqli_error($this->Conn);   $this->Instr_ID = mysqli_insert_id($this->Conn);   $this->Rest->free_result;   $this->Conn->close;   $this -> FormArray = '';   return $this;  }    public function null(){   $this->PageSize  = 0;   //$this->PageCount = 1;   $this->PageStart = 1;   $this->Field     = ' * ';      $this->Select    = '';   unset($this->Table, $this->Where,$this->Order, $this->Result);  }    public function Table( $TableName ) {//数据表    $this -> null();    $this->Table = '`' . $this->PreFix . $TableName . '`';    return $this;  }    public function Field( $Array = '*' ) {//数据字段    !empty( $this->Field ) ? $this->Field = '' : null;    $Array = explode(',', $Array);    foreach ( $Array as $field ) {    $this->Field .= !$this->Start ? '`' . $field . '`' :  ', `' . $field . '`';    $this->Start++;    }    $this->Start = 0;    return $this;  }    public function Where( $Where ) {//条件        $this->Where = ' where ' .$Where;     return $this;   }    public function Order( $Order ) {//排序    $this->Order = ' order by ' . $Order;    return $this;  }    public function pk( $key ) {//分页url参数键    $this->PageKey = $key;    return $this;  }    public function Page( $PageSize ) {//分页    $this->PageSize = $PageSize;    $this->PageNo   = $this->get( $this->PageKey );    $this->PageNo   = empty( $this->PageNo ) || !isset( $this->PageNo ) || !is_numeric( $this->PageNo ) || $this->PageNo < 1 ? 1 : $this->PageNo;    return $this;  }    public function post( $Key, $Filter = true ){   return $Filter ? strip_tags($_POST[$Key]) : $_POST[$Key];  }    public function get( $Key, $Filter = true ){   return $Filter ? strip_tags($_GET[$Key]) : $_GET[$Key];  }    public function Sel(){   $this->Select = 'Select ' . $this->Field . ' from ' . $this->Table . $this->Where . $this->Order;   $this->Connection( $this->Select );   if ( $this->Rest->num_rows ) {    while ( $Rs = $this->Rest->fetch_assoc() ) {      $this->Result[] = $Rs;     }   }     $DataBase = $this->Result;     return empty($DataBase) ? false : $DataBase;  }    public function querys( $Sql = '', $Type = 'not', $biao = false ) {   $this->Select = $Sql;   $this->Connection( $this->Select );   if ( $this->Rest->num_rows ) {      if ( !$biao ) {    while ( $Rs = $this->Rest->fetch_array() ) {      $this->Result[] = !preg_match('/^d+$/i', $Type) ?  $Rs : $Rs[ $Type ];     }   } else {    while ( $Rs = $this->Rest->fetch_assoc() ) {      $this->Result[] = $Rs;     }   }   }     $DataBase = $this->Result;     return empty($DataBase) ? false : $DataBase;    }    public function executes( $Sql = '' ){   $this->Connection( $Sql  );   return $this->Rest;  }      public function exists( $T = '', $F = '', $W = ''){   if ( empty( $F ) ) { return 0; }   $cmd = empty( $W ) ? 'Select sum(' . $F . ') as `baiyinum` from `' . $this->PreFix . $T .'`' : 'Select sum(' . $F . ') as `baiyinum` from `' . $this->PreFix . $T .'` Where ' . $W;         $this->Connection( $cmd );   unset( $T, $F, $W, $cmd );   $Rel =  $this->Rest->fetch_array();   return round( $Rel['baiyinum'], 2 );  }      public function ExistsTo( $Bili = 10000, $T = '', $F = '', $W = ''){   if ( empty( $F ) ) { return 0; }   $cmd = empty( $W ) ? 'Select sum(' . $F . ') as `baiyinum` from `' . $this->PreFix . $T .'`' : 'Select sum(' . $F . ') as `baiyinum` from `' . $this->PreFix . $T .'` Where ' . $W;         $this->Connection( $cmd );   unset( $T, $F, $W, $cmd );   $Rel =  $this->Rest->fetch_array();   return round( $Rel['baiyinum'] * $Bili );  }      public function Select( $Type = true, $ListNum = 1 ){ //返回记录(数组形式, 返回条数)    $this->Select = 'Select ' . $this->Field . ' from ' . $this->Table . $this->Where . $this->Order;    if ( is_numeric( $ListNum ) ) {    if ( $this->PageSize > 0 ) {    $this->Connection( $this->Select );//执行查询    $this->PageCount =  $this->Rest->num_rows;//取得记录总数    $this->PageNum   =  ceil($this->PageCount / $this->PageSize); //总共有多少页    $this->PageNo    = $this->PageNo > $this->PageNum ? $this->PageNum : $this->PageNo;    $this->PageStart = ( $this->PageNo - 1 ) * $this->PageSize;   //当前从第几条开始返回    $this->Select   .= ' limit ' . $this->PageStart . ', ' .$t