php面象对象数据库操作类实例


Posted in PHP onDecember 02, 2014

本文实例讲述了php面象对象数据库操作类。分享给大家供大家参考。

具体实现代码如下:

//此处构造一个数据库操作类,封装所有数据库操作 

//可以扩展便于后台管理程序的使用 

Class MySQLDB  

{  

   var $host;  

   var $user;  

   var $passwd;  

   var $database; 

   var $conn;  

 

   //利用构造函数实现变量初始化  

   //同时连接数据库操作 

   function MySQLDB($host,$user,$password,$database)  

   {  

      $this->host = $host;  

      $this->user = $user;  

      $this->passwd = $password;  

      $this->database = $database;  

      $this->conn=mysql_connect($this->host, $this->user,$this->passwd) or  

     die("Could not connect to $this->host");  

      mysql_select_db($this->database,$this->conn) or  

     die("Could not switch to database $this->database");  

   }  

 

   //该函数用来关闭数据库连接 

   function Close()  

   {  

      MySQL_close($this->conn);  

   }  

 

   //该函数实现数据库查询操作 

   function Query($queryStr)  

   {  

      $res =Mysql_query($queryStr, $this->conn) or  

      die("Could not query database");  

      return $res;  

   }  

 

   //该函数返回记录集 

   function getRows($res)  

   {  

      $rowno = 0;  

      $rowno = MySQL_num_rows($res);  

      if($rowno>0)  

      {  

         for($row=0;$row<$rowno;$row++ )  

         {  

            $rows[$row]=MySQL_fetch_array($res); 

            //本来为MySQL_fetch_row,但是不能以数组的方式来提取,只能用索引 

            //这样可以用索引和名称,更为方便 

         }  

         return $rows;  

      }  

    }  

 

    //该函数取回数据库记录数 

    function getRowsNum($res)  

    {  

       $rowno = 0;  

       $rowno = mysql_num_rows($res);  

       return $rowno; 

    }  

 

 //该函数返回数据库表字段数 

 function getFieldsNum($res) 

 { 

    $fieldno = 0; 

    $fieldno = mysql_num_fields($res); 

    return $fieldno; 

 } 

 

 //该函数返回数据库表字段名称集 

 function getFields($res) 

 { 

      $fno = $this->getFieldsNum($res); 

      if($fno>0)  

      {  

         for($i=0;$i<$fno;$i++ )  

         {  

            $fs[$i]=MySQL_field_name($res,$i);//取第i个字段的名称 

         }  

         return $fs; 

      }  

 } 

}  

 

//使用时直接require该文件,然后实例化: 

 

$SqlDB = new MySQLDB("localhost","root","root","testdb"); 

 

$sql = "select * from tableX..."; 

 

$result = $SqlDB->Query($sql);//查询 

 

$rs = $SqlDB->getRows($result);//获得记录集 

 

$num = $SqlDB->getRowsNum($result);//获得记录数 

 

...剩下的操作就是循环取值, 

 

for($i=0;$i<$num;$i++){ 

   echo($rs[$i]["字段名"]); 

} 

 

...

最后不要忘记关闭数据路连接
$SqlDB->Close();
当然这句可以不要,php会自动注销!但是这样能够养成一个好的习惯,最好还是加上!其他自己类推。

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

PHP 相关文章推荐
main.php
Dec 09 PHP
用mysql触发器自动更新memcache的实现代码
Oct 11 PHP
php继承的一个应用
Sep 06 PHP
仿Aspnetpager的一个PHP分页类代码 附源码下载
Oct 08 PHP
PHP读取xml方法介绍
Jan 12 PHP
关于js与php互相传值的介绍
Jun 25 PHP
php实现利用phpexcel导出数据
Aug 24 PHP
php中删除数组的第一个元素和最后一个元素的函数
Mar 07 PHP
php实现在多维数组中查找特定value的方法
Jul 29 PHP
PHP中的print_r 与 var_dump 输出数组
Jun 13 PHP
PHP实时统计中文字数和区别
Feb 28 PHP
PHP学习记录之常用的魔术常量详解
Dec 12 PHP
PHP实现的比较完善的购物车类
Dec 02 #PHP
Yii框架关联查询with用法分析
Dec 02 #PHP
phpstorm配置Xdebug进行调试PHP教程
Dec 01 #PHP
页面利用渐进式JPEG来提升用户体验度
Dec 01 #PHP
php页面函数设置超时限制的方法
Dec 01 #PHP
PHP实现抓取HTTPS内容
Dec 01 #PHP
php设置静态内容缓存时间的方法
Dec 01 #PHP
You might like
缅甸的咖啡简史
2021/03/04 咖啡文化
解析PHP中的正则表达式以及模式匹配
2013/06/19 PHP
PHP文件生成的图片无法使用CDN缓存的解决方法
2015/06/20 PHP
php简单生成一组与多组随机字符串的方法
2017/05/09 PHP
thinkPHP框架自动填充原理与用法分析
2018/04/03 PHP
PHP实现微信退款的方法示例
2019/03/26 PHP
Thinkphp5框架实现图片、音频和视频文件的上传功能详解
2019/08/27 PHP
JavaScript使用FileSystemObject对象写入文本文件内容的方法
2015/08/05 Javascript
跟我学习javascript的闭包
2015/11/16 Javascript
全面解析JavaScript中apply和call以及bind(推荐)
2016/06/15 Javascript
总结javascript中的六种迭代器
2016/08/16 Javascript
简单的js表格操作
2016/09/24 Javascript
JS字符串false转boolean的方法(推荐)
2017/03/08 Javascript
JS中LocalStorage与SessionStorage五种循序渐进的使用方法
2017/07/12 Javascript
深入浅析Vue.js中 computed和methods不同机制
2018/03/22 Javascript
JS复杂判断的更优雅写法代码详解
2018/11/07 Javascript
node.js的http.createServer过程深入解析
2019/06/06 Javascript
vue ssr服务端渲染(小白解惑)
2019/11/10 Javascript
Vue Router 实现动态路由和常见问题及解决方法
2020/03/06 Javascript
Ant Design的Table组件去除
2020/10/24 Javascript
[04:36]DOTA2国际邀请赛 ti3精彩集锦
2013/08/19 DOTA
[15:57]教你分分钟做大人:斧王
2014/10/30 DOTA
python实现对一个完整url进行分割的方法
2015/04/29 Python
python中__slots__用法实例
2015/06/04 Python
Python 多线程抓取图片效率对比
2016/02/27 Python
利用python将pdf输出为txt的实例讲解
2018/04/23 Python
Python3.6实现根据电影名称(支持电视剧名称),获取下载链接的方法
2019/08/26 Python
Python3常见函数range()用法详解
2019/12/30 Python
Python实现树莓派摄像头持续录像并传送到主机的步骤
2020/11/30 Python
Python爬虫开发与项目实战
2020/12/16 Python
char型变量中能不能存贮一个中文汉字
2015/07/08 面试题
一份Java笔试题
2012/02/21 面试题
单位绩效考核方案
2014/05/11 职场文书
支行行长岗位职责
2015/02/15 职场文书
浅谈Nginx 中的两种限流方式
2021/03/31 Servers
Win11 Beta 预览版 22621.575 和 22622.575更新补丁KB5016694发布(附更新内容大全)
2022/08/14 数码科技