-
php面象对象数据库操作类实例
这篇文章主要介绍了php面象对象数据库操作类,以实例形式讲述了通过面向对象封装数据库操作的技巧,非常具有实用价值,需要的朋友可以参考下
本文实例讲述了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程序设计有所帮助。
出处:http://www.phpfensi.com/php/20210501/14752.html
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式