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 相关文章推荐
如何在PHP中进行身份认证
Oct 09 PHP
php whois查询API制作方法
Jun 23 PHP
解决文件名解压后乱码的问题 将文件名进行转码的代码
Jan 10 PHP
PHP 过滤页面中的BOM(实现代码)
Jun 29 PHP
PHP命名空间(Namespace)简明教程
Jun 11 PHP
采用ThinkPHP中F方法实现快速缓存实例
Jun 13 PHP
smarty高级特性之对象的使用方法
Dec 25 PHP
Yii多表联合查询操作详解
Jun 02 PHP
浅谈PHP的exec()函数无返回值排查方法(必看)
Mar 31 PHP
laravel validate 设置为中文的例子(验证提示为中文)
Sep 29 PHP
PHP全局使用Laravel辅助函数dd
Dec 26 PHP
php + ajax 实现的写入数据库操作简单示例
May 16 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
在windows平台上构建自己的PHP实现方法(仅适用于php5.2)
2013/07/05 PHP
php使用反射插入对象示例分享
2014/03/11 PHP
php+html5实现无刷新图片上传教程
2016/01/22 PHP
TP5框架实现自定义分页样式的方法示例
2020/04/05 PHP
使用JavaScript获取电池状态的方法
2014/05/03 Javascript
JavaScript中发布/订阅模式的简单实例
2014/11/05 Javascript
jQuery实现拖拽效果插件的方法
2015/03/23 Javascript
jQuery匹配文档链接并添加class的方法
2015/06/26 Javascript
js实现匹配时换色的输入提示特效代码
2015/08/17 Javascript
浅谈js图片前端预览之filereader和window.URL.createObjectURL
2016/06/30 Javascript
微信小程序左滑删除效果的实现代码
2017/02/20 Javascript
浅谈Webpack打包优化技巧
2018/06/12 Javascript
微信小程序学习笔记之跳转页面、传递参数获得数据操作图文详解
2019/03/28 Javascript
layui使用数据表格实现购物车功能
2019/07/26 Javascript
js里面的变量范围分享
2020/07/18 Javascript
python的id()函数解密过程
2012/12/25 Python
Python THREADING模块中的JOIN()方法深入理解
2015/02/18 Python
Python实现字符串匹配的KMP算法
2019/04/04 Python
Django实现文件上传下载
2019/10/06 Python
Python自动化之UnitTest框架实战记录
2020/09/08 Python
详解如何修改python中字典的键和值
2020/09/29 Python
css3实现信纸/同学录效果的示例代码
2018/12/11 HTML / CSS
提供世界各地便宜的机票:Sky-tours
2016/07/21 全球购物
Hotels.com香港酒店网:你的自由行酒店订房专家
2018/01/22 全球购物
几个Shell Script面试题
2014/04/18 面试题
日期和时间问题
2015/01/04 面试题
会计实习生自我鉴定
2013/12/12 职场文书
弘扬雷锋精神活动演讲稿
2014/03/04 职场文书
一位农村小子的自荐信
2014/04/07 职场文书
员工趣味活动方案
2014/08/27 职场文书
关于运动会的广播稿50字
2014/10/17 职场文书
大国崛起日本观后感
2015/06/02 职场文书
深度好文:50条没人告诉你的人生经验,句句精辟
2019/08/22 职场文书
八年级作文之感悟亲情
2019/11/20 职场文书
python实现过滤敏感词
2021/05/08 Python
Django中session进行权限管理的使用
2021/07/09 Python