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重新实现PHP脚本引擎内置函数
Mar 06 PHP
《PHP编程最快明白》第八讲:php启发和小结
Nov 01 PHP
匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
Dec 25 PHP
PHP 使用header函数设置HTTP头的示例解析 表头
Jun 17 PHP
PHP生成验证码时“图像因其本身有错无法显示”的解决方法
Aug 07 PHP
使用php语句将数据库*.sql文件导入数据库
May 05 PHP
PHP实现AES256加密算法实例
Sep 22 PHP
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
Oct 23 PHP
编写PHP脚本来实现WordPress中评论分页的功能
Dec 10 PHP
PHP开发中解决并发问题的几种实现方法分析
Nov 13 PHP
PHP实现的猴王算法(猴子选大王)示例
Apr 30 PHP
PHP操作redis实现的分页列表,新增,删除功能封装类与用法示例
Aug 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
Linux下实现PHP多进程的方法分享
2012/08/16 PHP
PHP中Laravel 关联查询返回错误id的解决方法
2017/04/01 PHP
jQuery EasyUI 中文API Layout(Tabs)
2010/04/27 Javascript
jquery each()源代码
2011/02/14 Javascript
用javascript作一个通用向导说明
2011/08/30 Javascript
a标签的href和onclick 的事件的区别介绍
2013/07/26 Javascript
jQuery+PHP打造滑动开关效果
2014/12/16 Javascript
使用FlexiGrid实现Extjs表格效果方法分享
2014/12/16 Javascript
js网页滚动条滚动事件实例分析
2015/05/05 Javascript
基于JavaScript实现购物网站商品放大镜效果
2016/09/06 Javascript
Vue三种常用传值示例(父传子、子传父、非父子)
2018/07/24 Javascript
jQuery实现获取当前鼠标位置并输出功能示例
2019/01/05 jQuery
element-ui中按需引入的实现
2019/12/25 Javascript
vue如何在用户要关闭当前网页时弹出提示的实现
2020/05/31 Javascript
jQuery实现B2B网站后台管理系统侧导航
2020/07/08 jQuery
SpringBoot+Vue开发之Login校验规则、实现登录和重置事件
2020/10/19 Javascript
vue 单页应用和多页应用的优劣
2020/10/22 Javascript
vant-ui组件调用Dialog弹窗异步关闭操作
2020/11/04 Javascript
[58:59]完美世界DOTA2联赛PWL S3 access vs CPG 第一场 12.13
2020/12/16 DOTA
Python访问纯真IP数据库脚本分享
2015/06/29 Python
用Python写飞机大战游戏之pygame入门(4):获取鼠标的位置及运动
2015/11/05 Python
Python随机生成带特殊字符的密码
2016/03/02 Python
简述Python中的进程、线程、协程
2016/03/18 Python
PyTorch CNN实战之MNIST手写数字识别示例
2018/05/29 Python
python用户评论标签匹配的解决方法
2018/05/31 Python
python tornado使用流生成图片的例子
2019/11/18 Python
Pandas时间序列重采样(resample)方法中closed、label的作用详解
2019/12/10 Python
pycharm激活码有效到2020年11月底
2020/09/18 Python
CSS3旋转——彩色扇子兼容firefox浏览器
2013/06/04 HTML / CSS
纯CSS3制作页面切换效果的实例代码
2019/05/30 HTML / CSS
美国知名保健品网站:LuckyVitamin(支持中文)
2017/08/09 全球购物
J2EE的优越性主要表现在哪些方面
2016/03/28 面试题
后勤园长自我鉴定
2013/10/17 职场文书
个人总结与自我评价
2015/02/14 职场文书
呼啸山庄读书笔记
2015/06/29 职场文书
解决Golang time.Parse和time.Format的时区问题
2021/04/29 Golang