首页 > 开发 > PHP > 正文

PHP数据库处理封装类实例

2024-05-04 22:50:01
字体:
来源:转载
供稿:网友

本文实例讲述了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;?>            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表