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 相关文章推荐
几种显示数据的方法的比较
Oct 09 PHP
ionCube 一款类似zend的PHP加密/解密工具
Jul 25 PHP
PHP OPP机制和模式简介(抽象类、接口和契约式编程)
Jun 09 PHP
PHP APC配置文件2套和参数详解
Jun 11 PHP
php实现兼容2038年后Unix时间戳转换函数
Mar 18 PHP
php异常处理方法实例汇总
Jun 24 PHP
PHP中的Trait 特性及作用
Apr 03 PHP
centos+php+coreseek+sphinx+mysql之一coreseek安装篇
Oct 25 PHP
php Session无效分析资料整理
Nov 29 PHP
php 浮点数比较方法详解
May 05 PHP
PHP实现自动发送邮件功能代码(qq 邮箱)
Aug 18 PHP
PHP的JSON封装、转变及输出操作示例
Sep 27 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
JAVA/JSP学习系列之四
2006/10/09 PHP
理解PHP5中static和const关键字的区别
2007/03/19 PHP
PHP面向对象法则
2012/02/23 PHP
在CentOS上搭建LAMP+vsftpd环境的简单指南
2015/08/01 PHP
培养自己的php编码规范
2015/09/28 PHP
thinkPHP2.1自定义标签库的导入方法详解
2016/07/20 PHP
clientX,pageX,offsetX,x,layerX,screenX,offsetLeft区别分析
2010/03/12 Javascript
javascript检查表单数据是否改变的方法
2013/07/30 Javascript
JavaScript实现生成GUID(全局统一标识符)
2014/09/05 Javascript
JS实现5秒钟自动封锁div层的方法
2015/02/20 Javascript
Javascript对象Clone实例分析
2015/06/09 Javascript
jQuery使用cookie与json简单实现购物车功能
2016/04/15 Javascript
JS模拟的Map类实现方法
2016/06/17 Javascript
利用jquery给指定的table动态添加一行、删除一行的方法
2016/10/12 Javascript
前端主流框架vue学习笔记第一篇
2017/07/26 Javascript
Popup弹出框添加数据实现方法
2017/10/27 Javascript
Vue中用props给data赋初始值遇到的问题解决
2018/11/27 Javascript
Vue中的基础过渡动画及实现原理解析
2018/12/04 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧滑动,右侧不动)
2019/01/23 Javascript
微信小程序页面调用自定义组件内的事件详解
2019/09/12 Javascript
解决layui批量传值到后台操作时出现传值为空的问题
2019/09/28 Javascript
[06:15]2016国际邀请赛中国区预选赛单车采访:我顶WINGS
2016/06/27 DOTA
Python实现Linux下守护进程的编写方法
2014/08/22 Python
简单谈谈Python中的反转字符串问题
2016/10/24 Python
Python wxPython库使用wx.ListBox创建列表框示例
2018/09/03 Python
自学python用什么系统好
2020/06/23 Python
世界上最大的在线学习和教学市场:Udemy
2017/11/08 全球购物
椰子猫砂:CatSpot
2018/08/27 全球购物
美国优质马术服装购买网站:Breeches.com
2019/12/16 全球购物
应届生人事助理求职信
2013/11/09 职场文书
党员对照检查材料思想汇报
2014/09/16 职场文书
材料员岗位职责
2015/02/10 职场文书
任命通知范文
2015/04/21 职场文书
2015年度绩效考核工作总结
2015/05/27 职场文书
农村结婚典礼主持词
2015/06/29 职场文书
win10滚动条自动往上跑怎么办?win10滚动条自动往上跑的解决方法
2022/08/05 数码科技