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
桌面中心(三)修改数据库
Oct 09 PHP
php木马攻击防御之道
Mar 24 PHP
php一句话cmdshell新型 (非一句话木马)
Apr 18 PHP
php 验证码实例代码
Jun 01 PHP
用PHP实现的四则运算表达式计算实现代码
Aug 02 PHP
JS中encodeURIComponent函数用php解码的代码
Mar 01 PHP
关于使用coreseek并为其做分页的介绍
Jun 21 PHP
基于PHP创建Cookie数组的详解
Jul 03 PHP
功能强大的PHP图片处理类(水印、透明度、旋转)
Oct 21 PHP
PHP读取大文件末尾N行的高效方法推荐
Jun 03 PHP
详解使用php调用微信接口上传永久素材
Apr 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 MVC模式在网站架构中的实现分析
2010/03/04 PHP
编写php应用程序实现摘要式身份验证的方法详解
2013/06/08 PHP
PHP echo,print,printf,sprintf函数之间的区别与用法详解
2013/11/27 PHP
PHP常用数组函数介绍
2014/07/28 PHP
如何使用微信公众平台开发模式实现多客服
2016/01/06 PHP
php 防止表单重复提交两种实现方法
2016/11/03 PHP
用JavaScript实现UrlEncode和UrlDecode的脚本代码
2008/07/23 Javascript
js 操作select相关方法函数
2009/12/06 Javascript
jQuery EasyUI 中文API Layout(Tabs)
2010/04/27 Javascript
JavaScript 原型继承之构造函数继承
2011/08/26 Javascript
javascript中match函数的用法小结
2014/02/08 Javascript
JS获取客户端IP地址、MAC和主机名的7个方法汇总
2014/07/21 Javascript
JavaScript 学习笔记之语句
2015/01/14 Javascript
浅谈javascript中的instanceof和typeof
2015/02/27 Javascript
百度地图API之百度地图退拽标记点获取经纬度的实现代码
2017/01/12 Javascript
javascript实现多张图片左右无缝滚动效果
2017/03/22 Javascript
微信小程序如何获知用户运行小程序的场景教程
2017/05/17 Javascript
JS将网址url转化为JSON格式的方法
2018/07/02 Javascript
js使用swiper实现层叠轮播效果实例代码
2018/12/12 Javascript
浅谈在Vue.js中如何实现时间转换指令
2019/01/06 Javascript
vue进入页面时不在顶部,检测滚动返回顶部按钮问题及解决方法
2019/10/30 Javascript
webpack+vue.js构建前端工程化的详细教程
2020/05/10 Javascript
ES6函数和数组用法实例分析
2020/05/23 Javascript
python实现给字典添加条目的方法
2014/09/25 Python
Python实现获取nginx服务器ip及流量统计信息功能示例
2018/05/18 Python
python实现计数排序与桶排序实例代码
2019/03/28 Python
Python实现ATM系统
2020/02/17 Python
python是怎么被发明的
2020/06/15 Python
python软件都是免费的吗
2020/06/18 Python
详解通过变换矩阵实现canvas的缩放功能
2019/01/14 HTML / CSS
Net-A-Porter美国官网:全球时尚奢侈品名站
2017/02/11 全球购物
博士研究生自我鉴定范文
2013/12/04 职场文书
爱心募捐通知范文
2015/04/27 职场文书
演讲开场白和结束语
2015/05/29 职场文书
医院感染管理制度
2015/08/05 职场文书
MySQL 数据 data 基本操作
2022/05/04 MySQL