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 22 PHP
网页游戏开发入门教程三(简单程序应用)
Nov 02 PHP
深入理解PHP原理之Session Gc的一个小概率Notice
Apr 12 PHP
php文件打包 下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
Jun 13 PHP
shell脚本作为保证PHP脚本不挂掉的守护进程实例分享
Jul 15 PHP
php页面防重复提交方法总结
Nov 25 PHP
laravel容器延迟加载以及auth扩展详解
Mar 02 PHP
php格式化电话号码的方法
Apr 24 PHP
ThinkPHP V2.2说明文档没有说明的那些事实例小结
Jul 01 PHP
PHP实现的memcache环形队列类实例
Jul 28 PHP
laravel框架 api自定义全局异常处理方法
Oct 11 PHP
php判断数组是否为空的实例方法
May 10 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和MYSQL实现分页导航思路详解
2017/04/11 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
2018/05/23 PHP
php的扩展写法总结
2019/05/14 PHP
使用laravel的Eloquent模型如何获取数据库的指定列
2019/10/17 PHP
js 模拟气泡屏保效果代码
2010/07/10 Javascript
直接在JS里创建JSON数据然后遍历使用
2014/07/25 Javascript
Javascript中的五种数据类型详解
2014/12/26 Javascript
javascript适合移动端的日期时间拾取器
2015/11/10 Javascript
前端面试题及答案整理(二)
2016/08/26 Javascript
微信小程序链接传参并跳转新页面
2016/11/29 Javascript
bootstrap实现图片自动轮播
2016/12/21 Javascript
常用的js方法合集
2017/03/10 Javascript
javascript实现文字无缝滚动效果
2017/08/26 Javascript
echarts多条折线图动态分层的实现方法
2019/05/24 Javascript
Layui表格行工具事件与数据回填方法
2019/09/13 Javascript
vue项目启动出现cannot GET /服务错误的解决方法
2020/04/26 Javascript
浅谈Vue3.0新版API之composition-api入坑指南
2020/04/30 Javascript
Vue-router编程式导航的两种实现代码
2021/03/04 Vue.js
K-means聚类算法介绍与利用python实现的代码示例
2017/11/13 Python
Python打印输出数组中全部元素
2018/03/13 Python
Python实现简单的用户交互方法详解
2018/09/25 Python
解决vscode python print 输出窗口中文乱码的问题
2018/12/03 Python
对python过滤器和lambda函数的用法详解
2019/01/21 Python
在Pandas中处理NaN值的方法
2019/06/25 Python
Python 余弦相似度与皮尔逊相关系数 计算实例
2019/12/23 Python
使用opencv识别图像红色区域,并输出红色区域中心点坐标
2020/06/02 Python
使用canvas压缩图片大小的方法示例
2019/08/02 HTML / CSS
瑞士国际航空官网:SWISS
2016/07/21 全球购物
Volcom法国官网:美国冲浪滑板品牌
2017/05/25 全球购物
科颜氏印度官网:Kiehl’s印度
2021/02/20 全球购物
教师群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
《风娃娃》教学反思
2016/02/18 职场文书
golang在GRPC中设置client的超时时间
2021/04/27 Golang
上帝为你开了一扇窗之Tkinter常用函数详解
2021/06/02 Python
Python实现批量自动整理文件
2022/03/16 Python
mysql使用FIND_IN_SET和group_concat两个方法查询上下级机构
2022/04/20 MySQL