PHP访问MYSQL数据库封装类(附函数说明)


Posted in PHP onDecember 04, 2010
<?php 
/* 
MYSQL 数据库访问封装类 
MYSQL 数据访问方式,php4支持以mysql_开头的过程访问方式,php5开始支持以mysqli_开头的过程和mysqli面向对象 
访问方式,本封装类以mysql_封装 
数据访问的一般流程: 
1,连接数据库 mysql_connect or mysql_pconnect 
2,选择数据库 mysql_select_db 
3,执行SQL查询 mysql_query 
4,处理返回的数据 mysql_fetch_array mysql_num_rows mysql_fetch_assoc mysql_fetch_row etc 
*/ 
class db_mysql 
{ 
var $querynum = 0 ; //当前页面进程查询数据库的次数 
var $dblink ; //数据库连接资源 
//链接数据库 
function connect($dbhost,$dbuser,$dbpw,$dbname='',$dbcharset='utf-8',$pconnect=0 , $halt=true) 
{ 
$func = empty($pconnect) ? 'mysql_connect' : 'mysql_pconnect' ; 
$this->dblink = @$func($dbhost,$dbuser,$dbpw) ; 
if ($halt && !$this->dblink) 
{ 
$this->halt("无法链接数据库!"); 
} 
//设置查询字符集 
mysql_query("SET character_set_connection={$dbcharset},character_set_results={$dbcharset},character_set_client=binary",$this->dblink) ; 
//选择数据库 
$dbname && @mysql_select_db($dbname,$this->dblink) ; 
} 
//选择数据库 
function select_db($dbname) 
{ 
return mysql_select_db($dbname,$this->dblink); 
} 
//执行SQL查询 
function query($sql) 
{ 
$this->querynum++ ; 
return mysql_query($sql,$this->dblink) ; 
} 
//返回最近一次与连接句柄关联的INSERT,UPDATE 或DELETE 查询所影响的记录行数 
function affected_rows() 
{ 
return mysql_affected_rows($this->dblink) ; 
} 
//取得结果集中行的数目,只对select查询的结果集有效 
function num_rows($result) 
{ 
return mysql_num_rows($result) ; 
} 
//获得单格的查询结果 
function result($result,$row=0) 
{ 
return mysql_result($result,$row) ; 
} 
//取得上一步 INSERT 操作产生的 ID,只对表有AUTO_INCREMENT ID的操作有效 
function insert_id() 
{ 
return ($id = mysql_insert_id($this->dblink)) >= 0 ? $id : $this->result($this->query("SELECT last_insert_id()"), 0); 
} 
//从结果集提取当前行,以数字为key表示的关联数组形式返回 
function fetch_row($result) 
{ 
return mysql_fetch_row($result) ; 
} 
//从结果集提取当前行,以字段名为key表示的关联数组形式返回 
function fetch_assoc($result) 
{ 
return mysql_fetch_assoc($result); 
} 
//从结果集提取当前行,以字段名和数字为key表示的关联数组形式返回 
function fetch_array($result) 
{ 
return mysql_fetch_array($result); 
} 
//关闭链接 
function close() 
{ 
return mysql_close($this->dblink) ; 
} 
//输出简单的错误html提示信息并终止程序 
function halt($msg) 
{ 
$message = "<html>\n<head>\n" ; 
$message .= "<meta content='text/html;charset=gb2312'>\n" ; 
$message .= "</head>\n" ; 
$message .= "<body>\n" ; 
$message .= "数据库出错:".htmlspecialchars($msg)."\n" ; 
$message .= "</body>\n" ; 
$message .= "</html>" ; 
echo $message ; 
exit ; 
} 
} 
?>
PHP 相关文章推荐
使用bcompiler对PHP文件进行加密的代码
Aug 29 PHP
PHP中MVC模式的模板引擎开发经验分享
Mar 23 PHP
PHP中几种常见的超时处理全面总结
Sep 11 PHP
解析百度搜索结果link?url=参数分析 (全)
Oct 09 PHP
php实现图片缩放功能类
Dec 18 PHP
php curl_init函数用法
Jan 31 PHP
PHP批量删除、清除UTF-8文件BOM头的代码实例
Apr 14 PHP
php按百分比生成缩略图的代码分享
May 10 PHP
php采用session实现防止页面重复刷新
Dec 24 PHP
php基于dom实现读取图书xml格式数据的方法
Feb 03 PHP
使用PHP连接数据库_实现用户数据的增删改查的整体操作示例
Sep 01 PHP
PHP调用接口API封装的例子
Oct 11 PHP
PHP验证码类代码( 最新修改,完全定制化! )
Dec 02 #PHP
PHP项目开发中最常用的自定义函数整理
Dec 02 #PHP
PHP自动选择 连接本地还是远程数据库
Dec 02 #PHP
Mysql数据库操作类( 1127版,提供源码下载 )
Dec 02 #PHP
PHP分页函数代码(简单实用型)
Dec 02 #PHP
php图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
Dec 02 #PHP
php小偷相关截取函数备忘
Nov 28 #PHP
You might like
PHP中遇到BOM、编码导致json_decode函数无法解析问题
2014/07/02 PHP
PHP设计模式(九)外观模式Facade实例详解【结构型】
2020/05/02 PHP
document.compatMode介绍
2009/05/21 Javascript
JavaScript DOM 学习第三章 内容表格
2010/02/19 Javascript
原生javascript实现的分页插件pagenav
2014/08/28 Javascript
Javascript数组操作函数总结
2015/02/05 Javascript
JavaScript函数参数使用带参数名的方式赋值传入的方法
2015/03/19 Javascript
JavaScript实现仿新浪微博大厅和腾讯微博首页滚动特效源码
2015/09/15 Javascript
探究Vue.js 2.0新增的虚拟DOM
2016/10/20 Javascript
谈谈JS中常遇到的浏览器兼容问题和解决方法
2016/12/17 Javascript
浅谈mint-ui loadmore组件注意的问题
2017/11/08 Javascript
JS排序算法之冒泡排序,选择排序与插入排序实例分析
2017/12/13 Javascript
原生JS无缝滑动轮播图
2019/10/22 Javascript
Flexible.js可伸缩布局实现方法详解
2020/11/13 Javascript
python实现基于朴素贝叶斯的垃圾分类算法
2019/07/09 Python
python使用sessions模拟登录淘宝的方式
2019/08/16 Python
Python面向对象之多态原理与用法案例分析
2019/12/30 Python
Django contrib auth authenticate函数源码解析
2020/11/12 Python
python实现企业微信定时发送文本消息的实例代码
2020/11/25 Python
阿迪达斯丹麦官网:adidas丹麦
2016/10/01 全球购物
学期自我鉴定范文
2013/10/01 职场文书
往来会计岗位职责
2013/12/19 职场文书
幼儿园校车司机的岗位职责
2014/01/30 职场文书
爱情保证书范文
2014/02/01 职场文书
银行职员个人的工作自我评价
2014/02/15 职场文书
2014年母亲节寄语
2014/05/07 职场文书
初中班主任经验交流材料
2014/05/16 职场文书
学校安全生产承诺书
2014/05/23 职场文书
质监局领导班子践行群众路线整改方案
2014/10/26 职场文书
赔偿协议书怎么写
2015/01/28 职场文书
介绍信如何写
2015/01/31 职场文书
幼儿园教师师德承诺书
2015/04/28 职场文书
青年志愿者服务活动总结
2015/05/06 职场文书
未婚证明范本
2015/06/15 职场文书
解除合同协议书范本
2016/03/21 职场文书
浅谈Redis跟MySQL的双写问题解决方案
2022/02/24 Redis