Maison développement back-end tutoriel 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>对象
	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;
	}
}
Copier après la connexion

想用PHP写手机App的接口封装的一个数据库操作类

以上就介绍了PHP mysqli数据库操作类,包括了对象方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Solution à l'erreur fatale PHP : appel à la fonction non définie mysqli_connect() Solution à l'erreur fatale PHP : appel à la fonction non définie mysqli_connect() Jun 23, 2023 am 09:40 AM

Lors de l'écriture d'applications Web à l'aide de PHP, une base de données MySQL est souvent utilisée pour stocker les données. PHP fournit un moyen d'interagir avec la base de données MySQL appelé MySQLi. Cependant, parfois lors de l'utilisation de MySQLi, vous rencontrerez un message d'erreur, comme indiqué ci-dessous : PHPFatalerror:Calltoundefinedfunctionmysqli_connect() Ce message d'erreur signifie que PHP ne peut pas trouver mon

Que dois-je faire si php ne parvient pas à se connecter à mysqli ? Que dois-je faire si php ne parvient pas à se connecter à mysqli ? Nov 09, 2022 am 10:07 AM

Solution à PHP incapable de se connecter à mysqli : 1. Ouvrez le fichier "php.ini" ; 2. Recherchez "mysqli.reconnect" ; 3. Remplacez "mysqli.reconnect = OFF" par "mysqli.reconnect = on".

PHP PDO vs mysqli : comparer et contraster PHP PDO vs mysqli : comparer et contraster Feb 19, 2024 pm 12:24 PM

PDOPDO est une couche d'abstraction d'accès aux bases de données orientée objet qui fournit une interface unifiée pour PHP, vous permettant d'utiliser le même code pour interagir avec différentes bases de données (telles que Mysql, postgresql, oracle). PDO masque la complexité des connexions à la base de données sous-jacente et simplifie les opérations de la base de données. Avantages et inconvénients Avantages : Interface unifiée, prend en charge plusieurs bases de données, simplifie les opérations de base de données, réduit les difficultés de développement, fournit des instructions préparées, améliore la sécurité, prend en charge le traitement des transactions. Inconvénients : les performances peuvent être légèrement inférieures à celles des extensions natives, reposent sur des bibliothèques externes, peuvent augmenter la surcharge. le code de démonstration utilise PDO Connectez-vous à la base de données MySQL : $db=newPDO("mysql:host=localhost;dbnam

Avertissement PHP : mysqli_connect() : (HY000/2002) : Solution de connexion refusée Avertissement PHP : mysqli_connect() : (HY000/2002) : Solution de connexion refusée Jun 23, 2023 am 08:54 AM

Si vous rencontrez le message d'erreur suivant lorsque vous utilisez PHP pour vous connecter à une base de données MySQL : PHPWarning:mysqli_connect():(HY000/2002):Connectionrefused, vous pouvez essayer de résoudre ce problème en suivant les étapes ci-dessous. Pour confirmer si le service MySQL fonctionne normalement, vous devez d'abord vérifier si le service MySQL fonctionne normalement. Si le service ne fonctionne pas ou ne démarre pas, cela peut provoquer une erreur de refus de connexion. peux-tu

Quel est le fichier en cours d'exécution de MySQL Quel est le fichier en cours d'exécution de MySQL Apr 11, 2023 am 10:38 AM

Le fichier en cours d'exécution de mysql est mysqld ; mysqld est un fichier exécutable, qui représente le programme serveur Mysql. L'exécution de ce fichier peut démarrer directement un processus serveur ; et mysqld_safe est un script de démarrage, qui appellera indirectement mysqld et démarrera également un processus de surveillance. .

Tutoriel détaillé sur l'établissement d'une connexion à une base de données à l'aide de MySQLi en PHP Tutoriel détaillé sur l'établissement d'une connexion à une base de données à l'aide de MySQLi en PHP Jun 04, 2024 pm 01:42 PM

Comment utiliser MySQLi pour établir une connexion à une base de données en PHP : Inclure l'extension MySQLi (require_once) Créer une fonction de connexion (functionconnect_to_db) Appeler la fonction de connexion ($conn=connect_to_db()) Exécuter une requête ($result=$conn->query()) Fermer connexion ( $conn->close())

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

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

Solution à l'erreur fatale PHP : appel à la méthode non définie mysqli::prepare() Solution à l'erreur fatale PHP : appel à la méthode non définie mysqli::prepare() Jun 23, 2023 am 11:21 AM

Lorsque vous utilisez l'extension mysqli pour vous connecter et exploiter une base de données MySQL, vous rencontrez parfois l'erreur PHPFatalerror:Calltoundefinedmethodmysqli::prepare(). Cette erreur est généralement causée par les raisons suivantes : PHP n'a pas une prise en charge suffisante pour l'extension mysqli ; l'extension mysqli n'est pas chargée ou configurée correctement ; il y a des erreurs de syntaxe dans le code PHP ; le serveur MySQL n'est pas correctement configuré ou en cours d'exécution ;

See all articles