PHP数据库处理封装类实例


Posted in PHP onDecember 24, 2016

本文实例讲述了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 相关文章推荐
浅谈php中mysql与mysqli的区别分析
Jun 10 PHP
如何使用php输出时间格式
Aug 31 PHP
phpexcel导入excel数据使用方法实例
Dec 24 PHP
mantis安装、配置和使用中的问题小结
Jul 14 PHP
培养自己的php编码规范
Sep 28 PHP
PHP防止刷新重复提交页面的示例代码
Nov 11 PHP
php通过smtp邮件验证登陆的方法
May 11 PHP
PHP内置加密函数详解
Nov 20 PHP
thinkPHP分页功能实例详解
May 05 PHP
php实现与python进行socket通信的方法示例
Aug 30 PHP
php使用imagecopymerge()函数创建半透明水印
Jan 25 PHP
php项目中类的自动加载实例讲解
Sep 12 PHP
如何判断php mysqli扩展类是否开启
Dec 24 #PHP
Thinkphp框架中D方法与M方法的区别
Dec 23 #PHP
ThinkPHP 整合Bootstrap Ajax分页样式
Dec 23 #PHP
php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
Dec 23 #PHP
php的4种常用运行方式详解
Dec 22 #PHP
php curl 模拟登录并获取数据实例详解
Dec 22 #PHP
使用PHP连接多种数据库的实现代码(mysql,access,sqlserver,Oracle)
Dec 21 #PHP
You might like
php中的MVC模式运用技巧
2007/05/03 PHP
php expects parameter 1 to be resource, array given 错误
2011/03/23 PHP
PHP 实现重载
2021/03/09 PHP
jquery向.ashx文件post中文乱码问题的解决方法
2011/03/28 Javascript
JavaScript中提前声明变量或函数例子
2014/11/12 Javascript
AspNet中使用JQuery boxy插件的确认框
2015/05/20 Javascript
js实现跨域的几种方法汇总(图片ping、JSONP和CORS)
2015/10/25 Javascript
js H5 canvas投篮小游戏
2016/08/18 Javascript
vue jsx 使用指南及vue.js 使用jsx语法的方法
2017/11/11 Javascript
分享vue里swiper的一些坑
2018/08/30 Javascript
如何解决webpack-dev-server代理常切换问题
2019/01/09 Javascript
详解Vue用cmd创建项目
2019/02/12 Javascript
详解vue-cli3多环境打包配置
2019/03/28 Javascript
javascrit中undefined和null的区别详解
2019/04/07 Javascript
vue axios重复点击取消上一次请求封装的方法
2019/06/19 Javascript
使用vue-cli3+typescript的项目模板创建工程的教程
2020/02/28 Javascript
微信小程序入门之指南针
2020/10/22 Javascript
[49:35]LGD vs OG 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
Python读写Excel文件的实例
2013/11/01 Python
python实现电子词典
2020/04/23 Python
Python中的__SLOTS__属性使用示例
2015/02/18 Python
特征脸(Eigenface)理论基础之PCA主成分分析法
2018/03/13 Python
在Python 字典中一键对应多个值的实例
2019/02/03 Python
Django自带的用户验证系统实现
2020/12/18 Python
Html5 FileReader实现即时上传图片功能实例代码
2014/09/01 HTML / CSS
美国最大的存储市场:SpareFoot
2018/07/23 全球购物
高尔夫球鞋、服装、手套和装备:FootJoy
2018/12/15 全球购物
英语专业学子个人的自我评价
2013/10/02 职场文书
物流管理专业大学生自荐信
2013/10/04 职场文书
应届生程序员求职信
2013/11/05 职场文书
税务会计岗位职责
2014/02/18 职场文书
班主任寄语大全
2014/04/04 职场文书
优秀乡村医生先进事迹材料
2014/08/23 职场文书
银行竞聘上岗演讲稿
2014/09/12 职场文书
农村党支部书记四风问题个人对照检查材料
2014/09/21 职场文书
JavaScript组合继承详解
2021/11/07 Javascript