Maison >développement back-end >tutoriel php >Classe d'encapsulation du traitement de base de données PHP
Cet article présente principalement la classe d'encapsulation du traitement de base de données PHP et analyse la connexion, l'ajout, la suppression, la modification et d'autres opérations de base de données PHP basées sur l'encapsulation mysqli sous la forme d'un exemple complet. Les amis dans le besoin peuvent se référer à
<.> comme suit : Classes liées aux opérations MySQL, vérifiées et utilisées mysqli<?php //sample15_12.php class mydb { private $user; private $pass; private $host; private $db; //Constructor function. public function __construct (){ $num_args = func_num_args(); if($num_args > 0){ $args = func_get_args(); $this->host = $args[0]; $this->user = $args[1]; $this->pass = $args[2]; $this->connect(); } } //Function to tell us if mysqli is installed. private function mysqliinstalled (){ if (function_exists ("mysqli_connect")){ return true; } else { return false; } } //Function to connect to the database. private function connect (){ try { //Mysqli functionality. if ($this->mysqliinstalled()){ if (!$this->db = new mysqli ($this->host,$this->user,$this->pass)){ $exceptionstring = "Error connection to database: <br />"; $exceptionstring .= mysqli_connect_errno() . ": " . mysqli_connect_error(); throw new exception ($exceptionstring); } //Mysql functionality. } else { if (!$this->db = mysql_connect ($this->host,$this->user,$this->pass)){ $exceptionstring = "Error connection to database: <br />"; $exceptionstring .= mysql_errno() . ": " . mysql_error(); throw new exception ($exceptionstring); } } } catch (exception $e) { echo $e->getmessage(); } } //Function to select a database. public function selectdb ($thedb){ try { //Mysqli functionality. if ($this->mysqliinstalled()){ if (!$this->db->select_db ($thedb)){ $exceptionstring = "Error opening database: $thedb: <br />"; $exceptionstring .= $this->db->errno . ": " . $this->db->error; throw new exception ($exceptionstring); } //Mysql functionality. } else { if (!mysql_select_db ($thedb, $this->db)){ $exceptionstring = "Error opening database: $thedb: <br />"; $exceptionstring .= mysql_errno() . ": " . mysql_error(); throw new exception ($exceptionstring); } } } catch (exception $e) { echo $e->getmessage(); } } //Function to perform a query. public function execute ($thequery){ try { //Mysqli functionality. if ($this->mysqliinstalled()){ if (!$this->db->query ($thequery)){ $exceptionstring = "Error performing query: $thequery: <br />"; $exceptionstring .= $this->db->errno . ": " . $this->db->error; throw new exception ($exceptionstring); } else { echo "Query performed correctly: " . $this->db->affected_rows . " row(s) affected.<br />"; } //Mysql functionality. } else { if (!mysql_query ($thequery, $this->db)){ $exceptionstring = "Error performing query: $thequery: <br />"; $exceptionstring .= mysql_errno() . ": " . mysql_error(); throw new exception ($exceptionstring); } else { echo "Query performed correctly: " . mysql_affected_rows () . " row(s) affected.<br />"; } } } catch (exception $e) { echo $e->getmessage(); } } //Function to return a row set. public function getrows ($thequery){ try { //Mysqli functionality. if ($this->mysqliinstalled()){ if ($result = $this->db->query ($thequery)){ $returnarr = array (); while ($adata = $result->fetch_array ()){ $returnarr = array_merge ($returnarr,$adata); } return $returnarr; } else { $exceptionstring = "Error performing query: $thequery: <br />"; $exceptionstring .= $this->db->errno . ": " . $this->db->error; throw new exception ($exceptionstring); } //Mysql functionality. } else { if (!$aquery = mysql_query ($thequery)){ $exceptionstring = "Error performing query: $thequery: <br />"; $exceptionstring .= mysql_errno() . ": " . mysql_error(); throw new exception ($exceptionstring); } else { $returnarr = array (); while ($adata = mysql_fetch_array ($aquery)){ $returnarr = array_merge ($returnarr,$adata); } return $returnarr; } } } catch (exception $e) { echo $e->getmessage(); } } //Function to close the database link. public function __destruct() { try { //Mysqli functionality. if ($this->mysqliinstalled()){ if (!$this->db->close()){ $exceptionstring = "Error closing connection: <br />"; $exceptionstring .= $this->db->errno . ": " . $this->db->error; throw new exception ($exceptionstring); } //Mysql functionality. } else { if (!mysql_close ($this->db)){ $exceptionstring = "Error closing connection: <br />"; $exceptionstring .= mysql_errno() . ": " . mysql_error(); throw new exception ($exceptionstring); } } } catch (exception $e) { echo $e->getmessage(); } } } //Now, let us create an instance of mydb. $mydb = new mydb ("localhost","root",""); //Select a database to use. $mydb->selectdb ("wps"); //Now, let's perform an action. //$adata = $mydb->execute ("UPDATE cd SET title='Hybrid Theory' WHERE cdid='2'"); //Then, let's try to return a row set. $adata = $mydb->getrows ("SELECT * FROM wp_terms"); for ($i = 0; $i < count ($adata); $i++){ echo $adata[$i] . "<br />"; } $mydb->selectdb("test"); $result = $mydb->execute("UPDATE user SET age = 23 WHERE id = 2"); echo "<br />"; echo $result; ?>Ce qui précède est le contenu entier de l'article, j'espère qu'il sera utile à l'étude de chacun.
php implémente un puissant MYSQL basé sur PDOClasse d'encapsulationExplication des exemples
Opération XML implémentée par PHP (Classe d'encapsulationAnalyse complète des instances
Chiffrement et déchiffrement DES implémentés par PHPClasse d'encapsulationMéthode complète
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!