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 相关文章推荐
Extended CHM PHP 语法手册之 DIY
Oct 09 PHP
MYSQL 小技巧 -- LAST_INSERT_ID
Nov 24 PHP
一步一步学习PHP(4) php 函数 补充2
Feb 15 PHP
PHP之数组学习
May 29 PHP
分享8个最佳的代码片段在线测试网站
Jun 29 PHP
利用浏览器的Javascript控制台调试PHP程序
Jan 08 PHP
php获取网页标题和内容函数(不包含html标签)
Feb 03 PHP
ThinkPHP公共配置文件与各自项目中配置文件组合的方法
Nov 24 PHP
php将文件夹打包成zip文件的简单实现方法
Oct 04 PHP
php 删除一维数组中某一个值元素的操作方法
Feb 01 PHP
Laravel解决nesting level错误和隐藏index.php的问题
Oct 12 PHP
Laravel框架使用技巧之使用url()全局函数返回前一个页面的地址方法详解
Apr 06 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+APACHE实现网址伪静态
2015/02/22 PHP
PHP使用GD库输出汉字的方法【测试可用】
2016/11/10 PHP
Jquery+JSon 无刷新分页实现代码
2010/04/01 Javascript
AeroWindow 基于JQuery的弹出窗口插件
2011/06/27 Javascript
使用typeof判断function是否存在于上下文
2014/08/14 Javascript
JS实现超炫网页烟花动画效果的方法
2015/03/02 Javascript
js实现精美的银灰色竖排折叠菜单
2015/05/16 Javascript
vue 刷新之后 嵌套路由不变 重新渲染页面的方法
2018/09/13 Javascript
Nodejs中获取当前函数被调用的行数及文件名详解
2018/12/12 NodeJs
nodejs同步调用获取mysql数据时遇到的大坑
2019/03/02 NodeJs
jquery实现自定义树形表格的方法【自定义树形结构table】
2019/07/12 jQuery
深入理解基于vue-cli的webpack打包优化实践及探索
2019/10/14 Javascript
vue treeselect获取当前选中项的label实例
2020/08/31 Javascript
python开发之字符串string操作方法实例详解
2015/11/12 Python
玩转python爬虫之爬取糗事百科段子
2016/02/17 Python
Python基于Flask框架配置依赖包信息的项目迁移部署
2018/03/02 Python
python中ASCII码字符与int之间的转换方法
2018/07/09 Python
使用Python实现在Windows下安装Django
2018/10/17 Python
python解释器spython使用及原理解析
2019/08/24 Python
pytorch程序异常后删除占用的显存操作
2020/01/13 Python
python实现一个猜拳游戏
2020/04/05 Python
如何基于Python Matplotlib实现网格动画
2020/07/20 Python
英国轻奢珠宝品牌:Astley Clarke
2016/12/18 全球购物
中国跨境电子商务网站:NewFrog
2018/03/10 全球购物
桥梁与隧道工程专业本科生求职信
2013/10/08 职场文书
自我评价范文点评
2013/12/04 职场文书
机电一体化自荐信
2013/12/10 职场文书
大学校园毕业自我鉴定
2014/01/15 职场文书
宿舍违规用电检讨书
2014/02/16 职场文书
妇女儿童发展规划实施方案
2014/03/16 职场文书
请假条的格式
2014/04/11 职场文书
成事在人观后感
2015/06/16 职场文书
2015年网络舆情工作总结
2015/07/24 职场文书
业务员管理制度范本
2015/08/06 职场文书
微信小程序结合ThinkPHP5授权登陆后获取手机号
2021/11/23 PHP
CSS中理解层叠性及权重如何分配
2022/12/24 HTML / CSS