PHP数据库处理封装类实例

5年以前  |  阅读数:227 次  |  编程语言:PHP 

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《php+mysql数据库操作入门教程》、《PHP基于pdo操作数据库技巧总结》、《PHP+MongoDB数据库操作技巧大全》、《php+Oracle数据库程序设计技巧总结》、《php+mssql数据库程序设计技巧总结》、《php+redis数据库程序设计技巧总结》、《php+mysqli数据库程序设计技巧总结》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例