本文实例讲述了PHP数据库处理封装类。分享给大家供大家参考,具体如下:MySQL的操作相关
本文实例讲述了PHP数据库处理封装类。分享给大家供大家参考,具体如下:
MySQL的操作相关类,检查并使用了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;
?>
PHP
数据库
封装类