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 is_dir() 判断给定文件名是否是一个目录
May 10 PHP
php GeoIP的使用教程
Mar 09 PHP
PHP+Mysql+jQuery实现发布微博程序 jQuery篇
Oct 08 PHP
php Xdebug的安装与使用详解
Jun 20 PHP
Laravel框架表单验证详解
Sep 04 PHP
ThinkPHP自动完成中使用函数与回调方法实例
Nov 29 PHP
phpStudy访问速度慢和启动失败的解决办法
Nov 19 PHP
PHP会话控制实例分析
Dec 24 PHP
用PHP将Unicode 转化为UTF-8的实现方法(推荐)
Feb 08 PHP
php中html_entity_decode实现HTML实体转义
Jun 13 PHP
php微信开发之音乐回复功能
Jun 14 PHP
yii框架结合charjs实现统计30天数据的方法
Apr 04 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
用libTemplate实现静态网页的生成
2006/10/09 PHP
Linux下进行MYSQL编程时插入中文乱码的解决方案
2007/03/15 PHP
php侧拉菜单 漂亮,可以向右或者向左展开,支持FF,IE
2009/10/15 PHP
destoon调用企业会员公司形象图片的实现方法
2014/08/21 PHP
PHP的引用详解
2015/02/22 PHP
PHP 500报错的快速解决方法
2016/12/14 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
laravel 实现向公共模板中传值 (view composer)
2019/10/22 PHP
免费空间广告万能消除代码
2006/09/04 Javascript
不同浏览器对回车提交表单的处理办法
2010/02/13 Javascript
S2SH整合JQuery+Ajax实现登录验证功能实现代码
2013/01/30 Javascript
javascript中怎么做对象的类型判断
2013/11/11 Javascript
通过复制Table生成word和excel的javascript代码
2014/01/20 Javascript
php析构函数的具体用法小结
2014/03/11 Javascript
jQuery处理图片加载失败的常用方法
2015/06/08 Javascript
jquery中键盘事件小结
2016/02/24 Javascript
JS实现双击内容变为可编辑状态
2017/03/03 Javascript
js图片放大镜实例讲解(必看篇)
2017/07/17 Javascript
Three.js实现绘制字体模型示例代码
2017/09/26 Javascript
详解vue-cli脚手架中webpack配置方法
2018/08/22 Javascript
详解关于vue2.0工程发布上线操作步骤
2018/09/27 Javascript
VUE 配置vue-devtools调试工具及安装方法
2018/09/30 Javascript
iview form清除校验状态的实现
2019/09/19 Javascript
利用webpack理解CommonJS和ES Modules的差异区别
2020/06/16 Javascript
javascript实现时钟动画
2020/12/03 Javascript
[56:47]Ti4 循环赛第三日 iG vs Liquid
2014/07/12 DOTA
python 用for循环实现1~n求和的实例
2019/02/01 Python
Python时间序列处理之ARIMA模型的使用讲解
2019/04/02 Python
python创建子类的方法分析
2019/11/28 Python
django admin 添加自定义链接方式
2020/03/11 Python
django教程如何自学
2020/07/31 Python
美国老牌主机服务商:iPage
2016/07/22 全球购物
新学期开学寄语
2014/01/18 职场文书
公务员保密承诺书
2014/03/27 职场文书
小学教师师德师风自我剖析材料
2014/09/29 职场文书
《坐井观天》教学反思
2016/02/18 职场文书