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 相关文章推荐
phpMyAdmin 安装教程全攻略
Mar 19 PHP
php下清空字符串中的HTML标签的代码
Sep 06 PHP
php 获取百度的热词数据的代码
Feb 18 PHP
php preg_replace替换实例讲解
Nov 04 PHP
PHP生成等比缩略图类和自定义函数分享
Jun 25 PHP
PHP的cURL库简介及使用示例
Feb 06 PHP
php简单定时执行任务的实现方法
Feb 23 PHP
php使用number_format函数截取小数的方法分析
May 27 PHP
PHP结合Ueditor并修改图片上传路径
Oct 16 PHP
PHP模拟http请求的方法详解
Nov 09 PHP
PHP实现的基于单向链表解决约瑟夫环问题示例
Sep 30 PHP
PHP数组Key强制类型转换实现原理解析
Sep 01 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相当简单的分页类
2008/10/02 PHP
PHP 将图片按创建时间进行分类存储的实现代码
2010/01/05 PHP
php设计模式 Facade(外观模式)
2011/06/26 PHP
php接口和抽象类使用示例详解
2014/03/02 PHP
PHP实现mysqli批量执行多条语句的方法示例
2017/07/22 PHP
一文掌握PHP Xdebug 本地与远程调试(小结)
2019/04/23 PHP
JavaScript高级程序设计 扩展--关于动态原型
2010/11/09 Javascript
javascript淡入淡出效果的实现思路
2012/03/31 Javascript
Javascript 面向对象(一)(共有方法,私有方法,特权方法)
2012/05/23 Javascript
JS 对象属性相关(检查属性、枚举属性等)
2015/04/05 Javascript
使用AOP改善javascript代码
2015/05/01 Javascript
JavaScript中数据结构与算法(三):链表
2015/06/19 Javascript
详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
2017/05/22 Javascript
基于nodejs实现微信支付功能
2017/12/20 NodeJs
vue mounted 调用两次的完美解决办法
2018/10/29 Javascript
webpack优化之代码分割与公共代码提取详解
2019/11/22 Javascript
Python httplib,smtplib使用方法
2008/09/06 Python
Python使用htpasswd实现基本认证授权的例子
2014/06/10 Python
python使用正则搜索字符串或文件中的浮点数代码实例
2014/07/11 Python
破解安装Pycharm的方法
2018/10/19 Python
django-allauth入门学习和使用详解
2019/07/03 Python
使用python实现滑动验证码功能
2019/08/05 Python
python创建学生管理系统
2019/11/22 Python
关于numpy数组轴的使用详解
2019/12/05 Python
python 字典套字典或列表的示例
2019/12/16 Python
解决python图像处理图像赋值后变为白色的问题
2020/06/04 Python
通过代码实例解析Pytest运行流程
2020/08/20 Python
利用CSS3实现圆角的outline效果的教程
2015/06/05 HTML / CSS
HTML5高仿微信聊天、微信聊天表情|对话框|编辑器功能
2018/04/23 HTML / CSS
同学会邀请书大全
2014/01/12 职场文书
面试自我介绍演讲稿
2014/04/29 职场文书
技术员个人工作总结
2015/03/03 职场文书
思想道德自我评价2015
2015/03/09 职场文书
工伤劳动仲裁代理词
2015/05/25 职场文书
遗嘱范文
2015/08/07 职场文书
使用Apache Camel表达REST服务的方法
2022/06/10 Servers