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 相关文章推荐
Joomla下利用configuration.php存储简单数据
May 19 PHP
php 抽象类的简单应用
Sep 06 PHP
php中explode与split的区别介绍
Oct 03 PHP
使用淘宝IP库获取用户ip地理位置
Oct 27 PHP
PHP包含文件函数include、include_once、require、require_once区别总结
Apr 05 PHP
PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法
Jul 11 PHP
thinkphp命名空间用法实例详解
Dec 30 PHP
PHP模板引擎Smarty内置变量调解器用法详解
Apr 11 PHP
php+croppic.js实现剪切上传图片功能
Aug 14 PHP
PHP递归统计系统中代码行数
Sep 19 PHP
在laravel框架中实现封装公共方法全局调用
Oct 14 PHP
php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法解析
Apr 20 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设计模式之命令模式的深入解析
2013/06/13 PHP
解析左右值无限分类的实现算法
2013/06/20 PHP
ThinkPHP下表单令牌错误与解决方法分析
2017/05/20 PHP
新浪微博字数统计 textarea字数统计实现代码
2011/08/28 Javascript
循环 vs 递归浅谈
2013/02/28 Javascript
Json对象与Json字符串互转(4种转换方式)
2013/03/27 Javascript
巧用局部变量提升javascript性能
2014/02/24 Javascript
js中document.write的那点事
2014/12/12 Javascript
Javascript中的Prototype到底是什么
2016/02/16 Javascript
详解js的事件代理(委托)
2016/12/22 Javascript
Vue.js学习之过滤器详解
2017/01/22 Javascript
layer弹出层中H5播放器全屏出错的解决方法
2017/02/21 Javascript
详解vue2 $watch要注意的问题
2017/09/08 Javascript
vue.js实现只弹一次弹框
2018/01/29 Javascript
JS基于封装函数实现的表格分页完整示例
2018/06/26 Javascript
vue使用原生js实现滚动页面跟踪导航高亮的示例代码
2018/10/25 Javascript
python通过pil模块将raw图片转换成png图片的方法
2015/03/16 Python
在Python中使用HTMLParser解析HTML的教程
2015/04/29 Python
Python字符串格式化输出方法分析
2016/04/13 Python
Python类属性的延迟计算
2016/10/22 Python
Java编程迭代地删除文件夹及其下的所有文件实例
2018/02/10 Python
Python爬虫获取图片并下载保存至本地的实例
2018/06/01 Python
python3通过selenium爬虫获取到dj商品的实例代码
2019/04/25 Python
Python Django 页面上展示固定的页码数实现代码
2019/08/21 Python
Python 自动登录淘宝并保存登录信息的方法
2019/09/04 Python
django 获取字段最大值,最新的记录操作
2020/08/09 Python
Python3.9最新版下载与安装图文教程详解(Windows系统为例)
2020/11/28 Python
目标管理责任书
2014/04/15 职场文书
银行行长竞聘演讲稿
2014/04/23 职场文书
分公司负责人任命书
2014/06/04 职场文书
绿色出行口号
2014/06/18 职场文书
领导干部作风建设自查报告
2014/10/23 职场文书
2014年业务工作总结
2014/11/17 职场文书
优秀团员主要事迹范文
2015/11/05 职场文书
《伯牙绝弦》教学反思
2016/02/16 职场文书
html5调用摄像头实例代码
2021/06/28 HTML / CSS