国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Home php教程 PHP開發(fā) Complete example of mysqli class encapsulated by php

Complete example of mysqli class encapsulated by php

Dec 21, 2016 pm 05:07 PM
mysqli

The example in this article describes the mysqli class encapsulated in php. Share it with everyone for your reference, as follows:

Class:

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);
/*
掌握滿足單例模式的必要條件
(1)私有的構(gòu)造方法-為了防止在類外使用new關(guān)鍵字實(shí)例化對象
(2)私有的成員屬性-為了防止在類外引入這個(gè)存放對象的屬性
(3)私有的克隆方法-為了防止在類外通過clone成生另一個(gè)對象
(4)公有的靜態(tài)方法-為了讓用戶進(jìn)行實(shí)例化對象的操作
*/
class ConnectMysqli{
  //私有的屬性
  private static $dbcon=false;
  private $host;
  private $port;
  private $user;
  private $pass;
  private $db;
  private $charset;
  private $link;
  //私有的構(gòu)造方法
  private function __construct($config=array()){
    $this->host = $config[&#39;host&#39;] ? $config[&#39;host&#39;] : &#39;localhost&#39;;
    $this->port = $config[&#39;port&#39;] ? $config[&#39;port&#39;] : &#39;3306&#39;;
    $this->user = $config[&#39;user&#39;] ? $config[&#39;user&#39;] : &#39;root&#39;;
    $this->pass = $config[&#39;pass&#39;] ? $config[&#39;pass&#39;] : &#39;root&#39;;
    $this->db = $config[&#39;db&#39;] ? $config[&#39;db&#39;] : &#39;small2&#39;;
    $this->charset=isset($arr[&#39;charset&#39;]) ? $arr[&#39;charset&#39;] : &#39;utf8&#39;;
    //連接數(shù)據(jù)庫
    $this->db_connect();
    //選擇數(shù)據(jù)庫
    $this->db_usedb();
    //設(shè)置字符集
    $this->db_charset();
   }
   //連接數(shù)據(jù)庫
   private function db_connect(){
    $this->link=mysqli_connect($this->host.&#39;:&#39;.$this->port,$this->user,$this->pass);
    if(!$this->link){
      echo "數(shù)據(jù)庫連接失敗<br>";
      echo "錯(cuò)誤編碼".mysqli_errno($this->link)."<br>";
      echo "錯(cuò)誤信息".mysqli_error($this->link)."<br>";
      exit;
    }
   }
   //設(shè)置字符集
    private function db_charset(){
     mysqli_query($this->link,"set names {$this->charset}");
    }
    //選擇數(shù)據(jù)庫
   private function db_usedb(){
     mysqli_query($this->link,"use {$this->db}");
   }
   //私有的克隆
   private function __clone(){
     die(&#39;clone is not allowed&#39;);
   }
   //公用的靜態(tài)方法
   public static function getIntance(){
     if(self::$dbcon==false){
      self::$dbcon=new self;
     }
     return self::$dbcon;
   }
   //執(zhí)行sql語句的方法
    public function query($sql){
     $res=mysqli_query($this->link,$sql);
     if(!$res){
      echo "sql語句執(zhí)行失敗<br>";
      echo "錯(cuò)誤編碼是".mysqli_errno($this->link)."<br>";
      echo "錯(cuò)誤信息是".mysqli_error($this->link)."<br>";
     }
     return $res;
   }
   //打印數(shù)據(jù)
    public function p($arr){
      echo "<pre class="brush:php;toolbar:false">";
      print_r($arr);
      echo "
"; } public function v($arr){ echo "
";
      var_dump($arr);
      echo "
"; } //獲得最后一條記錄id public function getInsertid(){ return mysqli_insert_id($this->link); } /** * 查詢某個(gè)字段 * @param * @return string or int */ public function getOne($sql){ $query=$this->query($sql); return mysqli_free_result($query); } //獲取一行記錄,return array 一維數(shù)組 public function getRow($sql,$type="assoc"){ $query=$this->query($sql); if(!in_array($type,array("assoc",'array',"row"))){ die("mysqli_query error"); } $funcname="mysqli_fetch_".$type; return $funcname($query); } //獲取一條記錄,前置條件通過資源獲取一條記錄 public function getFormSource($query,$type="assoc"){ if(!in_array($type,array("assoc","array","row"))) { die("mysqli_query error"); } $funcname="mysqli_fetch_".$type; return $funcname($query); } //獲取多條數(shù)據(jù),二維數(shù)組 public function getAll($sql){ $query=$this->query($sql); $list=array(); while ($r=$this->getFormSource($query)) { $list[]=$r; } return $list; } /** * 定義添加數(shù)據(jù)的方法 * @param string $table 表名 * @param string orarray $data [數(shù)據(jù)] * @return int 最新添加的id */ public function insert($table,$data){ //遍歷數(shù)組,得到每一個(gè)字段和字段的值 $key_str=''; $v_str=''; foreach($data as $key=>$v){ if(empty($v)){ die("error"); } //$key的值是每一個(gè)字段s一個(gè)字段所對應(yīng)的值 $key_str.=$key.','; $v_str.="'$v',"; } $key_str=trim($key_str,','); $v_str=trim($v_str,','); //判斷數(shù)據(jù)是否為空 $sql="insert into $table ($key_str) values ($v_str)"; $this->query($sql); //返回上一次增加操做產(chǎn)生ID值 return $this->getInsertid(); } /* * 刪除一條數(shù)據(jù)方法 * @param1 $table, $where=array('id'=>'1') 表名 條件 * @return 受影響的行數(shù) */ public function deleteOne($table, $where){ if(is_array($where)){ foreach ($where as $key => $val) { $condition = $key.'='.$val; } } else { $condition = $where; } $sql = "delete from $table where $condition"; $this->query($sql); //返回受影響的行數(shù) return mysqli_affected_rows($this->link); } /* * 刪除多條數(shù)據(jù)方法 * @param1 $table, $where 表名 條件 * @return 受影響的行數(shù) */ public function deleteAll($table, $where){ if(is_array($where)){ foreach ($where as $key => $val) { if(is_array($val)){ $condition = $key.' in ('.implode(',', $val) .')'; } else { $condition = $key. '=' .$val; } } } else { $condition = $where; } $sql = "delete from $table where $condition"; $this->query($sql); //返回受影響的行數(shù) return mysqli_affected_rows($this->link); } /** * [修改操作description] * @param [type] $table [表名] * @param [type] $data [數(shù)據(jù)] * @param [type] $where [條件] * @return [type] */ public function update($table,$data,$where){ //遍歷數(shù)組,得到每一個(gè)字段和字段的值 $str=''; foreach($data as $key=>$v){ $str.="$key='$v',"; } $str=rtrim($str,','); //修改SQL語句 $sql="update $table set $str where $where"; $this->query($sql); //返回受影響的行數(shù) return mysqli_affected_rows($this->link); } } ?>

Usage test:

//mysqli測試
$db=ConnectMysqli::getIntance();
//var_dump($db);
/*$sql="select * from acticle";
$list=$db->getAll($sql);
$db->p($list);*/
/*$sql="select * from acticle where acticle_id=95";
$list=$db->getRow($sql);
$db->p($list);
*/
/*$sql="select title from acticle";
$list=$db->getOne($sql);
$db->p($list);不行*/
//$list=$db->insert("users",$_POST);
//$del=$db->deleteOne("users","id=29");
//$del=$db->deleteAll("users","id in(27,28)");
//$up=$db->update("users",$_POST,"id=27");
//print_R($list);


For more articles related to complete examples of mysqli classes encapsulated in PHP, please pay attention to the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

PHP Tutorial
1502
276
Solution to PHP Fatal error: Call to undefined function mysqli_connect() Solution to PHP Fatal error: Call to undefined function mysqli_connect() Jun 23, 2023 am 09:40 AM

When writing web applications using PHP, a MySQL database is often used to store data. PHP provides a way to interact with the MySQL database called MySQLi. However, sometimes when using MySQLi, you will encounter an error message, as shown below: PHPFatalerror:Calltoundefinedfunctionmysqli_connect() This error message means that PHP cannot find my

PHP PDO vs. mysqli: compare and contrast PHP PDO vs. mysqli: compare and contrast Feb 19, 2024 pm 12:24 PM

PDOPDO is an object-oriented database access abstraction layer that provides a unified interface for PHP, allowing you to use the same code to interact with different databases (such as Mysql, postgresql, oracle). PDO hides the complexity of underlying database connections and simplifies database operations. Advantages and Disadvantages Advantages: Unified interface, supports multiple databases, simplifies database operations, reduces development difficulty, provides prepared statements, improves security, supports transaction processing Disadvantages: performance may be slightly lower than native extensions, relies on external libraries, may increase overhead, demo code uses PDO Connect to mysql database: $db=newPDO("mysql:host=localhost;dbnam

PHP Warning: mysqli_connect(): (HY000/2002): Solution to Connection refused PHP Warning: mysqli_connect(): (HY000/2002): Solution to Connection refused Jun 23, 2023 am 08:54 AM

If you encounter the following error message when using PHP to connect to a MySQL database: PHPWarning:mysqli_connect():(HY000/2002):Connectionrefused, then you can try to solve this problem by following the steps below. To confirm whether the MySQL service is running normally, you should first check whether the MySQL service is running normally. If the service is not running or fails to start, it may cause a connection refused error. you can

What should I do if php cannot connect to mysqli? What should I do if php cannot connect to mysqli? Nov 09, 2022 am 10:07 AM

Solution to php unable to connect to mysqli: 1. Open the "php.ini" file; 2. Find "mysqli.reconnect"; 3. Change "mysqli.reconnect = OFF" to "mysqli.reconnect = on".

Detailed tutorial on establishing a database connection using MySQLi in PHP Detailed tutorial on establishing a database connection using MySQLi in PHP Jun 04, 2024 pm 01:42 PM

How to use MySQLi to establish a database connection in PHP: Include MySQLi extension (require_once) Create connection function (functionconnect_to_db) Call connection function ($conn=connect_to_db()) Execute query ($result=$conn->query()) Close connection ( $conn->close())

What is the running file of mysql What is the running file of mysql Apr 11, 2023 am 10:38 AM

The running file of mysql is mysqld; mysqld is an executable file, which represents the Mysql server program. Executing this file can directly start a server process; and mysqld_safe is a startup script, which will indirectly call mysqld and also start a monitor. process.

Solution to PHP Fatal error: Call to undefined method mysqli::prepare() Solution to PHP Fatal error: Call to undefined method mysqli::prepare() Jun 23, 2023 am 11:21 AM

When using the mysqli extension to connect and operate a MySQL database, you sometimes encounter the error PHPFatalerror:Calltoundefinedmethodmysqli::prepare(). This error is usually caused by the following reasons: PHP has insufficient support for the mysqli extension; the mysqli extension is not loaded or configured correctly; there are syntax errors in the PHP code; the MySQL server is not correctly configured or running

Solution to PHP Fatal error: Call to undefined function mysqli_stmt_bind_param() Solution to PHP Fatal error: Call to undefined function mysqli_stmt_bind_param() Jun 23, 2023 am 10:43 AM

When developing websites using PHP, database operations are very common. MySQLi is an extension commonly used in PHP to operate MySQL databases. It provides a relatively complete object-oriented interface, procedural interface, and supports operations of prepared statements. But sometimes when we use mysqli's prepared statements, we will encounter such an error: PHPFatalerror:Calltoundefinedfunctionmysqli_stmt_bin

See all articles