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 04 PHP
PHP中“简单工厂模式”实例代码讲解
Sep 04 PHP
使用淘宝IP库获取用户ip地理位置
Oct 27 PHP
PHP之uniqid()函数用法
Nov 03 PHP
thinkphp实现发送邮件密码找回功能实例
Dec 01 PHP
WordPress中用于更新伪静态规则的PHP代码实例讲解
Dec 18 PHP
php时间计算相关问题小结
May 09 PHP
php strftime函数的详细用法
Jun 21 PHP
PHP实现数据四舍五入的方法小结【4种方法】
Mar 27 PHP
php统计数组不同元素的个数的实例方法
Sep 26 PHP
浅谈PHP5.6 与 PHP7.0 区别
Oct 09 PHP
Thinkphp 框架配置操作之配置加载与读取配置实例分析
May 15 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 FPDF类库应用实现代码
2009/03/20 PHP
php两种无限分类方法实例
2015/04/21 PHP
PHP递归创建多级目录
2015/11/05 PHP
原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】
2019/03/07 PHP
如何在Laravel5.8中正确地应用Repository设计模式
2019/11/26 PHP
用js实现层随着内容大小动态渐变改变 推荐
2009/12/19 Javascript
Web前端设计模式  制作漂亮的弹出层
2010/10/29 Javascript
JavaScript中的undefined学习总结
2013/11/30 Javascript
For循环中分号隔开的3部分的执行顺序探讨
2014/05/27 Javascript
EasyUi datagrid 实现表格分页
2015/02/10 Javascript
nodejs导出excel的方法
2015/06/30 NodeJs
jQuery焦点图轮播插件KinSlideshow用法分析
2016/06/08 Javascript
ES6新特性之Symbol类型用法分析
2017/03/31 Javascript
Vue.js列表渲染绑定jQuery插件的正确姿势
2017/06/29 jQuery
Vue中使用的EventBus有生命周期
2018/07/12 Javascript
微信小程序http连接访问解决方案的示例
2018/11/05 Javascript
vue 地图可视化 maptalks 篇实例代码详解
2019/05/21 Javascript
[03:09]DOTA2亚洲邀请赛 LGD战队出场宣传片
2015/02/07 DOTA
简单介绍Python中的decode()方法的使用
2015/05/18 Python
python通过socket实现多个连接并实现ssh功能详解
2017/11/08 Python
python3库numpy数组属性的查看方法
2018/04/17 Python
基于DataFrame筛选数据与loc的用法详解
2018/05/18 Python
Python3查找列表中重复元素的个数的3种方法详解
2020/02/13 Python
浅谈keras使用预训练模型vgg16分类,损失和准确度不变
2020/07/02 Python
Python中使用aiohttp模拟服务器出现错误问题及解决方法
2020/10/31 Python
localstorage和sessionstorage使用记录(推荐)
2017/05/23 HTML / CSS
Big Green Smile德国网上商店:提供各种天然产品
2018/05/23 全球购物
计算机专业自我鉴定
2013/10/15 职场文书
公司前台辞职报告
2014/01/19 职场文书
商场端午节活动方案
2014/01/29 职场文书
优秀班组长事迹
2014/05/31 职场文书
精神文明建设标语
2014/06/16 职场文书
怎么写工作检讨书
2014/11/16 职场文书
2015年度服装销售工作总结
2015/03/31 职场文书
车间质检员岗位职责
2015/04/08 职场文书
2015年城管执法工作总结
2015/07/23 职场文书