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安全配置
Dec 06 PHP
程序员编程十条戒律
Jul 09 PHP
网页游戏开发入门教程二(游戏模式+系统)
Nov 02 PHP
php 格式化数字的时候注意数字的范围
Apr 13 PHP
php下使用strpos需要注意 === 运算符
Jul 17 PHP
Yii开启片段缓存的方法
Mar 28 PHP
php实现学生管理系统
Mar 21 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
Mar 31 PHP
删除PHP数组中的重复元素的实现代码
Apr 10 PHP
laravel 根据不同组织加载不同视图的实现
Oct 14 PHP
Laravel框架实现定时Task Scheduling例子
Oct 22 PHP
php如何获取Http请求
Apr 30 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 socket的讲解与实例分析
2013/06/13 PHP
php创建sprite
2014/02/11 PHP
php自动识别文字编码并转换为目标编码的方法
2015/08/08 PHP
PHP中的多种加密技术及代码示例解析
2016/10/20 PHP
Node.js:Windows7下搭建的Node.js服务(来玩玩服务器端的javascript吧,这可不是前端js插件)
2011/06/27 Javascript
给js文件传参数(详解)
2014/07/13 Javascript
JavaScript中的console.time()函数详细介绍
2014/12/29 Javascript
纯js代码实现未知宽高的元素在指定元素中垂直水平居中显示
2015/09/12 Javascript
js和jquery分别验证单选框、复选框、下拉框
2015/12/17 Javascript
JavaScrip常见的一些算法总结
2015/12/28 Javascript
理解Javascript文件动态加载
2016/01/29 Javascript
js实现图片切换(动画版)
2016/12/25 Javascript
详解React中的组件通信问题
2017/07/31 Javascript
基于Vue2的独立构建与运行时构建的差别(详解)
2017/12/06 Javascript
[05:20]2018DOTA2亚洲邀请赛主赛事第三日战况回顾 LGD率先挺进胜者组决赛
2018/04/06 DOTA
[00:48]DOTA2国际邀请赛公开赛报名开始 扫码开启逐梦之旅
2018/06/06 DOTA
python利用paramiko连接远程服务器执行命令的方法
2017/10/16 Python
解决python删除文件的权限错误问题
2018/04/24 Python
Selenium chrome配置代理Python版的方法
2018/11/29 Python
python实现Virginia无密钥解密
2019/03/20 Python
python实现字符串完美拆分split()的方法
2019/07/16 Python
python如何将图片转换素描画
2020/09/08 Python
python中uuid模块实例浅析
2020/12/29 Python
详解移动端HTML5音频与视频问题及解决方案
2018/08/22 HTML / CSS
Html5实现单张、多张图片上传功能
2019/04/28 HTML / CSS
澳大利亚当地最大的时装生产商:Cue
2018/08/06 全球购物
办公室文秘自我鉴定
2013/09/21 职场文书
房屋委托书范本
2014/04/04 职场文书
《海底世界》教学反思
2014/04/16 职场文书
学校对教师的评语
2014/04/28 职场文书
餐饮商业计划书范文
2014/04/29 职场文书
学生会个人总结范文
2015/02/15 职场文书
2015年留守儿童工作总结
2015/05/22 职场文书
企业管理不到位检讨书
2019/06/27 职场文书
Nginx实现高可用集群构建(Keepalived+Haproxy+Nginx)
2021/05/27 Servers
Linux下搭建SFTP服务器的命令详解
2022/06/25 Servers