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 日期时间处理函数小结
Dec 18 PHP
深入解析php之sphinx
May 15 PHP
php遍历目录输出目录及其下的所有文件示例
Jan 27 PHP
php检测iis环境是否支持htaccess的方法
Feb 18 PHP
54个提高PHP程序运行效率的方法
Jul 19 PHP
PHP 的比较运算与逻辑运算详解
May 12 PHP
深入理解PHP JSON数组与对象
Jul 19 PHP
php 输入输出流详解及示例代码
Aug 25 PHP
Windows 下安装 swoole 图文教程(php)
Jun 05 PHP
TP5(thinkPHP框架)实现后台清除缓存功能示例
May 29 PHP
PHP代码覆盖率统计详解
Jul 22 PHP
PHP实现简单的计算器
Aug 28 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伪静态写法附代码
2008/06/20 PHP
使用PHP提取视频网站页面中的FLASH地址的代码
2010/04/17 PHP
Yii把CGridView文本框换成下拉框的方法
2014/12/03 PHP
php导入大量数据到mysql性能优化技巧
2014/12/29 PHP
WordPress中调试缩略图的相关PHP函数使用解析
2016/01/07 PHP
php实现姓名根据首字母排序的类与方法(实例代码)
2018/05/16 PHP
Yii框架引入coreseek分页功能示例
2019/02/08 PHP
jQuery 1.3 和 Validation 验证插件1.5.1
2009/07/09 Javascript
javascript代码加载优化方法
2011/01/30 Javascript
jquerymobile局部渲染的各种刷新方法小结
2014/03/05 Javascript
Jquery 获取指定标签的对象及属性的设置与移除
2014/05/29 Javascript
Jquery焦点与失去焦点示例应用
2014/06/10 Javascript
jQuery实现滑动页面固定顶部显示(可根据显示位置消失与替换)
2015/10/28 Javascript
javascript实现tab切换特效
2015/11/12 Javascript
Javascript基础学习笔记(菜鸟必看篇)
2016/07/22 Javascript
Angular中的ng-template及angular 使用ngTemplateOutlet 指令的方法
2018/08/08 Javascript
详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)
2018/10/26 Javascript
Vue.js中 v-model 指令的修饰符详解
2018/12/03 Javascript
模块化react-router配置方法详解
2019/06/03 Javascript
[43:32]Winstrike vs VGJ.S 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
Python找出文件中使用率最高的汉字实例详解
2015/06/03 Python
python实现list元素按关键字相加减的方法示例
2017/06/09 Python
解决python selenium3启动不了firefox的问题
2018/10/13 Python
Django ManyToManyField 跨越中间表查询的方法
2018/12/18 Python
python+openCV利用摄像头实现人员活动检测
2019/06/22 Python
Python如何使用Gitlab API实现批量的合并分支
2019/11/27 Python
利用OpenCV中对图像数据进行64F和8U转换的方式
2020/06/03 Python
Python使用pyenv实现多环境管理
2021/02/05 Python
会计专业应届生自荐信
2014/02/07 职场文书
教师通用专业自荐书范文
2014/02/11 职场文书
《长征》教学反思
2014/04/27 职场文书
毕业生实习证明
2014/09/19 职场文书
2015年公务员个人工作总结
2015/04/24 职场文书
走进科学观后感
2015/06/18 职场文书
幼儿园教师心得体会范文
2016/01/21 职场文书
创业计划书之便利店
2019/09/05 职场文书