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 相关文章推荐
PHP读MYSQL中文乱码的解决方法
Dec 17 PHP
php.ini-dist 和 php.ini-recommended 的区别介绍(方便开发与安全的朋友)
Jul 01 PHP
说说PHP的autoLoad自动加载机制
Sep 27 PHP
解析数组非数字键名引号的必要性
Aug 09 PHP
php遍历解析xml字符串的方法
May 05 PHP
YII视图整合kindeditor扩展的方法
Jul 13 PHP
php排序算法实例分析
Oct 17 PHP
PHPCMS V9 添加二级导航的思路详解
Oct 20 PHP
ThinkPHP简单使用memcache缓存的方法
Nov 15 PHP
如何通过View::first使用Laravel Blade的动态模板详解
Sep 21 PHP
PHP fclose函数用法总结
Feb 15 PHP
TP5(thinkPHP5框架)实现显示错误信息及行号功能的方法
Jun 03 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
自动生成文章摘要的代码[PHP 版本]
2007/03/20 PHP
jQuery.holdReady()使用方法
2014/05/20 Javascript
深入理解JavaScript系列(26):设计模式之构造函数模式详解
2015/03/03 Javascript
js获得当前系统日期时间的方法
2015/05/06 Javascript
JQuery实现的图文自动轮播效果插件
2015/06/19 Javascript
使用javaScript动态加载Js文件和Css文件
2015/10/24 Javascript
浅析JavaScript作用域链、执行上下文与闭包
2016/02/01 Javascript
jQuery选择器基础入门教程
2016/05/10 Javascript
js表单元素checked、radio被选中的几种方法(详解)
2016/08/22 Javascript
微信小程序 实战实例开发流程详细介绍
2017/01/05 Javascript
Easy UI动态树点击文字实现展开关闭功能
2017/09/30 Javascript
JS实现移动端整屏滑动的实例代码
2017/11/10 Javascript
基于jquery实现的tab选项卡功能示例【附源码下载】
2019/06/10 jQuery
详解webpack的文件监听实现(热更新)
2020/09/11 Javascript
JavaScript中EventBus实现对象之间通信
2020/10/18 Javascript
[01:02:54]完美世界DOTA2联赛PWL S2 FTD vs GXR 第一场 11.22
2020/11/26 DOTA
详解Python程序与服务器连接的WSGI接口
2015/04/29 Python
浅谈Python对内存的使用(深浅拷贝)
2018/01/17 Python
TensorFlow神经网络优化策略学习
2018/03/09 Python
pytorch .detach() .detach_() 和 .data用于切断反向传播的实现
2019/12/27 Python
python实现一个猜拳游戏
2020/04/05 Python
Visual Studio code 配置Python开发环境
2020/09/11 Python
突袭HTML5之Javascript API扩展4—拖拽(Drag/Drop)概述
2013/01/31 HTML / CSS
Michael Kors美国官网:美式奢侈生活风格的代表
2016/11/25 全球购物
联想西班牙官网:Lenovo西班牙
2018/08/28 全球购物
彪马日本官网:PUMA日本
2019/01/31 全球购物
波兰多品牌运动商店:StreetStyle24.pl
2020/09/22 全球购物
医药营销个人求职信范文
2014/02/07 职场文书
应聘教师求职信
2014/07/19 职场文书
检察机关个人对照检查材料
2014/09/15 职场文书
迟到检讨书
2015/01/26 职场文书
党员转正意见怎么写
2015/06/03 职场文书
小学英语课教学反思
2016/02/15 职场文书
生鲜超市—未来中国最具有潜力零售业态
2019/08/02 职场文书
一文简单了解MySQL前缀索引
2022/04/03 MySQL
阿里云服务器部署RabbitMQ集群的详细教程
2022/06/01 Servers