首頁 後端開發 php教程 PHP mysqli資料庫操作類

PHP mysqli資料庫操作類

Jul 29, 2016 am 09:13 AM
mysqli quot this

<?php
class Mysql{
	private $host = &#39;localhost&#39;;
	private $port = &#39;3306&#39;;
	private $user = &#39;username&#39;;
	private $pwd = &#39;password&#39;;
	private $db = &#39;dbname&#39;;
	private $char = &#39;UTF8&#39;;
	private $prefix = &#39;&#39;;
	private $fetch_mode = MYSQLI_ASSOC;//获取模式
	private $result;//结果集
	public $mysqli;//mysqli实例<strong>对象</strong>
	static private $_instance;//本类实例
	
	//构造函数初始化$mysqli<strong>对象</strong>
	private function __construct() {
		$this->mysqli=new mysqli($this->host,$this->user,$this->pwd,$this->db,$this->port);
		if(mysqli_connect_errno()){
			$this->mysqli=false;
			echo mysqli_connect_error();
			die();
		}else{
			$this->mysqli->set_charset($char);	
		}
	}
	
	//析构函数:释放结果集和关闭数据库
	public function __destruct(){
		$this->free();
		$this->close();	
	}
	
	//初始化$mysqli<strong>对象</strong>
	public static function getInstance(){
		if(!(self::$_instance instanceof self)) {
			self::$_instance = new self();
		}
		return self::$_instance;
	}
	
	//释放结果集
	private function free(){
		@$this->result->free();
	}
	
	//关闭数据库连接
	private function close(){
		$this->mysqli->close();	
	}
	
	//执行sql语句
	public function query($sql){
		return $this->mysqli->query($sql);	
	}
	
	//获取查询结果
	public function get_result_array($table,$field,$c
		$table=$this->prefix.$table;
		if(is_array($field)){
			$field = join(',',$field);
		}
		
		$sql = "SELECT $field FROM ".$table;
		if(!empty($condition))$sql .=" $condition ";
		$this->result = $this->query($sql);
		$return = array();
		while($row = $this->fetch($this->result)){
			$return[] = $row;
		}
		$this->free();
		return $return;
	}
	
	//增删改操作
	public function execute($table,$action,$arr_field=array(),$c
		$table=$this->prefix.$table;
		switch($action){
			case 'INSERT':
				$str_field = '';
				$str_val = '';
				foreach($arr_field as $key=>$val){
					$str_field .= '`'.$key.'`,';
					$str_val .= '\''.$val.'\',';
				}
				$str_field = rtrim($str_field, ',');
				$str_val = rtrim($str_val, ',');
				$sql = "INSERT INTO $table ($str_field) VALUES ($str_val) ";
			break;
			
			case 'DELETE':
				$sql = "DELETE FROM $table";
				if (!empty($condition)) $sql .= " WHERE $condition";
			break;
			
			case 'UPDATE':
				$str_field = '';
				foreach($arr_field as $key => $val){
					$str_field.= '`'.$key ."` ='$val',";
				}
				$str_field = rtrim($str_field, ',');
				$sql = "UPDATE $table SET $str_field";
				if (!empty($condition)) $sql .= " WHERE $condition";
			break;	
		}
		$this->query($sql);
		return $this->get_affected_rows();
	}
	
	//获得受影响行数(针对增删改操作)
	public function get_affected_rows(){
		return $this->mysqli->affected_rows;
	}
	
	//获取集合条数
	public function get_rows($table,$c 1 ',$id='id'){
		$table=$this->prefix.$table;
		$sql="SELECT COUNT($id) num FROM ".$table." $condition";
		$this->result=$this->query($sql);
		$row=$this->fetch($this->result);
		return $row['num'];
	}
	
	//获得结果集
	public function fetch($result){
		return $result->fetch_array($this->fetch_mode);
	}
	
	//获得所有结果集
	public function fetch_all($result){
		$rows=array();
		while($row=$this->fetch($result)){
			$rows[]=$row;	
		}
		return $rows;
	}
}
登入後複製

想用PHP寫手機App的介面封裝的一個資料庫操作類

以上就介紹了PHP mysqli資料庫操作類,包含了物件方面的內容,希望對PHP教學有興趣的朋友有幫助。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1665
14
CakePHP 教程
1424
52
Laravel 教程
1322
25
PHP教程
1270
29
C# 教程
1250
24
PHP Fatal error: Call to undefined function mysqli_connect()的解決方法 PHP Fatal error: Call to undefined function mysqli_connect()的解決方法 Jun 23, 2023 am 09:40 AM

在使用PHP編寫Web應用程式時,經常會使用MySQL資料庫來儲存資料。 PHP提供了一種與MySQL資料庫互動的方法,稱為MySQLi。然而,有時在使用MySQLi時,會遇到一個錯誤訊息,如下所示:PHPFatalerror:Calltoundefinedfunctionmysqli_connect()這個錯誤訊息意味著PHP無法找到my

PHP PDO 與 mysqli:比較和對比 PHP PDO 與 mysqli:比較和對比 Feb 19, 2024 pm 12:24 PM

PDOPDO是一個物件導向的資料庫存取抽象層,它為PHP提供了一個統一的接口,允許您使用相同的程式碼與不同的資料庫(如Mysql、postgresql、oracle)進行互動。 PDO隱藏了底層資料庫連線的複雜性,簡化了資料庫操作。優缺點優點:統一接口,支援多種資料庫簡化資料庫操作,降低開發難度提供預處理語句,提高安全性支援事務處理缺點:效能可能比原生擴充稍低依賴外部函式庫,可能會增加開銷演示程式碼使用PDO連線mysql資料庫:$db=newPDO("mysql:host=localhost;dbnam

php無法連接mysqli怎麼辦 php無法連接mysqli怎麼辦 Nov 09, 2022 am 10:07 AM

php無法連接mysqli的解決方法:1.開啟「php.ini」檔案;2、找到「mysqli.reconnect」;3、將「mysqli.reconnect = OFF」改成「mysqli.reconnect = on」即可。

PHP Warning: mysqli_connect(): (HY000/2002): Connection refused的解決方法 PHP Warning: mysqli_connect(): (HY000/2002): Connection refused的解決方法 Jun 23, 2023 am 08:54 AM

如果你使用PHP連接MySQL資料庫時遇到了以下錯誤提示:PHPWarning:mysqli_connect():(HY000/2002):Connectionrefused那麼你可以嘗試按照下面的步驟來解決這個問題。確認MySQL服務是否正常運作首先應該檢查MySQL服務是否正常執行,如果服務未運行或啟動失敗,就可能會導致連線被拒絕的錯誤。你可

在PHP中使用MySQLi建立資料庫連線的詳盡教學 在PHP中使用MySQLi建立資料庫連線的詳盡教學 Jun 04, 2024 pm 01:42 PM

如何在PHP中使用MySQLi建立資料庫連線:包含MySQLi擴充(require_once)建立連線函數(functionconnect_to_db)呼叫連線函數($conn=connect_to_db())執行查詢($result=$conn->query())關閉連線( $conn->close())

mysql的運行檔是什麼 mysql的運行檔是什麼 Apr 11, 2023 am 10:38 AM

mysql的運行文件是mysqld;mysqld是一個可執行文件,代表著Mysql伺服器程序,執行這個文件可以直接啟動一個伺服器進程;而mysqld_safe是一個啟動腳本,它會間接調用mysqld,並且還會順帶啟動一個監控進程。

PHP Fatal error: Call to undefined method mysqli::prepare()的解決方法 PHP Fatal error: Call to undefined method mysqli::prepare()的解決方法 Jun 23, 2023 am 11:21 AM

當使用mysqli擴充來連接和操作MySQL資料庫時,有時會遇到PHPFatalerror:Calltoundefinedmethodmysqli::prepare()的錯誤。這個錯誤通常是由以下幾個原因引起的:PHP對mysqli擴充功能的支援不足;mysqli擴充沒有正確載入或配置;PHP程式碼有語法錯誤;MySQL伺服器沒有正確配置或正在執行

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

See all articles