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+MYSQL开发工具及资源收藏
Jan 02 PHP
php 图片加水印与上传图片加水印php类
May 12 PHP
zend optimizer在wamp的基础上安装图文教程
Oct 26 PHP
PHP输出缓存ob系列函数详解
Mar 11 PHP
3款值得推荐的微信开发开源框架
Oct 28 PHP
thinkphp实现like模糊查询实例
Oct 29 PHP
php自定文件保存session的方法
Dec 10 PHP
PHP PDO fetch 模式各种参数的输出结果一览
Jan 07 PHP
php实现中文字符截取防乱码方法汇总
Apr 29 PHP
基于PHP后台的Android新闻浏览客户端
May 23 PHP
Laravel 在views中加载公共页面的实现代码
Oct 22 PHP
Yii 实现数据加密和解密
Mar 09 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图片上传存储源码并且可以预览
2011/08/26 PHP
Laravel中的Blade模板引擎示例详解
2017/10/10 PHP
又一个图片自动缩小的JS代码
2007/03/10 Javascript
javascript 数据类型转换(parseInt,parseFloat)
2010/07/20 Javascript
Javascript中定义方法的另类写法(批量定义js对象的方法)
2011/02/25 Javascript
jQuery 过滤not()与filter()实例代码
2012/05/10 Javascript
jQuery中ajax的使用与缓存问题的解决方法
2013/12/19 Javascript
js面向对象编程之如何实现方法重载
2014/07/02 Javascript
jquery实现很酷的网页顶部图标下拉菜单效果
2015/08/22 Javascript
XML、HTML、CSS与JS的区别整理
2016/02/18 Javascript
vue.js表格分页示例
2016/10/18 Javascript
浅谈javascript中的 “ &amp;&amp; ” 和 “ || ”
2017/02/02 Javascript
浅谈js中的变量名和函数名重名
2017/02/13 Javascript
es6+angular1.X+webpack 实现按路由功能打包项目的示例
2017/08/16 Javascript
Nodejs 和 Electron ubuntu下快速安装过程
2018/05/04 NodeJs
在vue项目中引入highcharts图表的方法
2019/01/21 Javascript
Vue中使用create-keyframe-animation与动画钩子完成复杂动画
2019/04/09 Javascript
js常用方法、检查是否有特殊字符串、倒序截取字符串操作完整示例
2020/01/26 Javascript
linux 下以二进制的方式安装 nodejs
2020/02/12 NodeJs
解决vue动态下拉菜单 有数据未反应的问题
2020/08/06 Javascript
微信小程序实现底部弹出框
2020/11/18 Javascript
linecache模块加载和缓存文件内容详解
2018/01/11 Python
Python3实现的简单验证码识别功能示例
2018/05/02 Python
python3编写ThinkPHP命令执行Getshell的方法
2019/02/26 Python
使用 Python 快速实现 HTTP 和 FTP 服务器的方法
2019/07/22 Python
python中pygame安装过程(超级详细)
2019/08/04 Python
基于Python的图像阈值化分割(迭代法)
2020/11/20 Python
x-ua-compatible content=”IE=7, IE=9″意思理解
2013/07/22 HTML / CSS
阿迪达斯芬兰官方网站:adidas芬兰
2017/01/30 全球购物
团员年度个人总结
2015/02/26 职场文书
幼儿园园务工作总结2015
2015/05/18 职场文书
解约证明模板
2015/06/19 职场文书
校园广播稿范文
2015/08/19 职场文书
技术入股合作协议书
2016/03/21 职场文书
Python代码风格与编程习惯重要吗?
2021/06/03 Python
使用python生成大量数据写入es数据库并查询操作(2)
2022/09/23 Python