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聊天室技术
Oct 09 PHP
PHP完整的日历类(CLASS)
Nov 27 PHP
PHP如何编写易读的代码
Jul 10 PHP
PHP中VC6、VC9、TS、NTS版本的区别与用法详解
Oct 26 PHP
PHP处理Json字符串解码返回NULL的解决方法
Sep 01 PHP
php获取错误信息的方法
Jul 17 PHP
WordPress中制作导航菜单的PHP核心方法讲解
Dec 11 PHP
ThinkPHP中order()使用方法详解
Apr 19 PHP
10个值得深思的PHP面试题
Nov 14 PHP
php自定义函数br2nl实现将html中br换行符转换为文本输入中换行符的方法【与函数nl2br功能相反】
Feb 17 PHP
php实现的生成迷宫与迷宫寻址算法完整实例
Nov 06 PHP
PHP实现的支付宝支付功能示例
Mar 26 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 在线翻译函数代码
2009/05/07 PHP
hessian 在PHP中的使用介绍
2010/12/13 PHP
php通过array_merge()函数合并两个数组的方法
2015/03/18 PHP
WordPress中编写自定义存储字段的相关PHP函数解析
2015/12/25 PHP
Laravel 5.5官方推荐的Nginx配置学习教程
2017/10/06 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
2018/02/07 PHP
PHP PDO和消息队列的个人理解与应用实例分析
2019/11/25 PHP
JavaScript 组件之旅(一)分析和设计
2009/10/28 Javascript
Javascript实现获取及设置光标位置的方法
2015/07/21 Javascript
JS排序方法(sort,bubble,select,insert)代码汇总
2016/01/30 Javascript
BootStrap点击下拉菜单项后显示一个新的输入框实现代码
2016/05/16 Javascript
关于angularJs指令的Scope(作用域)介绍
2016/10/25 Javascript
three.js中文文档学习之创建场景
2017/11/20 Javascript
layui radio单选限制下一个radio单选的实例
2019/09/03 Javascript
深入学习Vue nextTick的用法及原理
2019/10/08 Javascript
[01:08:29]DOTA2-DPC中国联赛定级赛 RNG vs Aster BO3第一场 1月9日
2021/03/11 DOTA
[04:15]DOTA2-DPC中国联赛 正赛 Ehome vs Aster 选手采访
2021/03/11 DOTA
Python中使用dom模块生成XML文件示例
2015/04/05 Python
Python读大数据txt
2016/03/28 Python
Python中生成Epoch的方法
2017/04/26 Python
详解Python自建logging模块
2018/01/29 Python
深入浅析Python 中 is 语法带来的误解
2019/05/07 Python
Python绘制股票移动均线的实例
2019/08/24 Python
学会python自动收发邮件 代替你问候女友
2020/05/20 Python
Python改变对象的字符串显示的方法
2020/08/01 Python
Python 实现国产SM3加密算法的示例代码
2020/09/21 Python
Python爬虫之Selenium设置元素等待的方法
2020/12/04 Python
python将YUV420P文件转PNG图片格式的两种方法
2021/01/22 Python
施华洛世奇波兰官网:SWAROVSKI波兰
2019/06/18 全球购物
未婚证明书模板
2014/10/08 职场文书
优秀党员事迹材料
2014/12/18 职场文书
郭明义电影观后感
2015/06/08 职场文书
国庆阅兵观后感
2015/06/15 职场文书
关于元旦的广播稿2016
2015/12/17 职场文书
2019新员工试用期转正申请书3篇
2019/08/13 职场文书
go设置多个GOPATH的方式
2021/05/05 Golang