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中数据的批量导入(csv文件)
Oct 09 PHP
Discuz 5.0 中读取纯真IP数据库函数分析
Mar 16 PHP
简单介绍下 PHP5 中引入的 MYSQLI的用途
Mar 19 PHP
php中理解print EOT分界符和echo EOT的用法区别小结
Feb 21 PHP
PHP中可以自动分割查询字符的Parse_str函数使用示例
Jul 25 PHP
CI框架中cookie的操作方法分析
Dec 12 PHP
基于linnux+phantomjs实现生成图片格式的网页快照
Apr 15 PHP
关于扩展 Laravel 默认 Session 中间件导致的 Session 写入失效问题分析
Jan 08 PHP
tp5(thinkPHP5框架)时间查询操作实例分析
May 29 PHP
laradock环境docker-compose操作详解
Jul 29 PHP
PHP随机生成中文段落示例【测试网站内容时使用】
Apr 26 PHP
PHP设计模式(三)建造者模式Builder实例详解【创建型】
May 02 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中interface的用处详解
2020/07/26 PHP
jQuery的实现原理的模拟代码 -2 数据部分
2010/08/01 Javascript
js获取通过ajax返回的map型的JSONArray的方法
2014/01/09 Javascript
JavaScript实现随机替换图片的方法
2015/04/16 Javascript
js实现文件上传表单域美化特效
2015/11/02 Javascript
Javascript实现的SHA-256加密算法完整实例
2016/02/02 Javascript
基于bootstrap插件实现autocomplete自动完成表单
2016/05/07 Javascript
js获取所有checkbox的值的简单实例
2016/05/30 Javascript
一种基于浏览器的自动小票机打印实现方案(js版)
2016/07/26 Javascript
AngularJS中isolate scope的用法分析
2016/11/22 Javascript
js实现导航栏中英文切换效果
2017/01/16 Javascript
自带气泡提示的vue校验插件(vue-verify-pop)
2017/04/07 Javascript
Bootstrap栅格系统的使用详解
2017/10/30 Javascript
React中的refs的使用教程
2018/02/13 Javascript
微信小程序scroll-view仿拼多多横向滑动滚动条
2020/04/21 Javascript
默认浏览器设置及vue自动打开页面的方法
2018/09/21 Javascript
微信小程序pinker组件使用实现自动相减日期
2020/05/07 Javascript
python对html代码进行escape编码的方法
2015/05/04 Python
python抓取百度首页的方法
2015/05/19 Python
python+matplotlib绘制简单的海豚(顶点和节点的操作)
2018/01/02 Python
Python实现JSON反序列化类对象的示例
2018/01/31 Python
解决python测试opencv时imread导致的错误问题
2019/01/26 Python
pytorch中nn.Conv1d的用法详解
2019/12/31 Python
jupyter notebook 多行输出实例
2020/04/09 Python
HTML5本地存储和本地数据库实例详解
2017/09/05 HTML / CSS
如何向接受结构参数的函数传入常数值
2016/02/17 面试题
远东集团网络工程师面试题
2014/10/20 面试题
英文自荐信
2013/12/19 职场文书
2014年基层党组织公开承诺书
2014/03/29 职场文书
2014年计生协会工作总结
2014/11/21 职场文书
会计求职信怎么写
2015/03/20 职场文书
追悼词范文大全
2015/06/23 职场文书
干部外出学习心得体会
2016/01/18 职场文书
应届生们该怎么书写求职信?
2019/07/05 职场文书
小学三年级作文之写景
2019/11/05 职场文书
vue实现移动端div拖动效果
2022/03/03 Vue.js