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中的foreach函数
Aug 31 PHP
PHP创建桌面快捷方式的实例代码
Feb 17 PHP
字符串长度函数strlen和mb_strlen的区别示例介绍
Sep 09 PHP
2014最热门的24个php类库汇总
Dec 18 PHP
WordPress主题制作之模板文件的引入方法
Dec 28 PHP
PHP如何使用Memcached
Apr 05 PHP
Yii2如何批量添加数据
May 17 PHP
php版银联支付接口开发简明教程
Oct 14 PHP
PHP实现接收二进制流转换成图片的方法
Jan 10 PHP
php 如何设置一个严格控制过期时间的session
May 05 PHP
XAMPP升级PHP版本实现步骤解析
Sep 04 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
mysql 搜索之简单应用
2007/04/27 PHP
php 进度条实现代码
2009/03/10 PHP
php 将bmp图片转为jpg等其他任意格式的图片
2009/06/29 PHP
PHP zlib扩展实现页面GZIP压缩输出
2010/06/17 PHP
Yii框架调试心得--在页面输出执行sql语句
2014/12/25 PHP
php+ajax实现无刷新动态加载数据技术
2015/04/28 PHP
PHP实现伪静态方法汇总
2016/01/13 PHP
js通过元素class名字获取元素集合的具体实现
2014/01/06 Javascript
基于jquery实现一个滚动的分步注册向导-附源码
2015/08/26 Javascript
深入理解Angularjs中的$resource服务
2016/12/31 Javascript
bootstrap警告框使用方法解析
2017/01/13 Javascript
jQuery中map函数的两种方式
2017/04/07 jQuery
Vue的路由动态重定向和导航守卫实例
2018/03/17 Javascript
简化vuex的状态管理方案的方法
2018/06/02 Javascript
React实现评论的添加和删除
2020/10/20 Javascript
Python访问MySQL封装的常用类实例
2014/11/11 Python
Python类方法__init__和__del__构造、析构过程分析
2015/03/06 Python
用Python解决计数原理问题的方法
2016/08/04 Python
Python selenium文件上传方法汇总
2020/11/19 Python
Python基于socket实现简单的即时通讯功能示例
2018/01/16 Python
Pandas:DataFrame对象的基础操作方法
2018/06/07 Python
Python爬虫包BeautifulSoup学习实例(五)
2018/06/17 Python
Django使用Channels实现WebSocket的方法
2019/07/28 Python
python实现低通滤波器代码
2020/02/26 Python
如何基于python3和Vue实现AES数据加密
2020/03/27 Python
Python 可视化神器Plotly详解
2020/12/26 Python
详解CSS3实现响应式手风琴效果
2020/06/10 HTML / CSS
一份创业计划书范文
2014/02/08 职场文书
解除劳动合同协议书范本
2014/04/14 职场文书
村委会贫困证明范文
2014/09/21 职场文书
2015仓库保管员年终工作总结
2015/05/13 职场文书
消夏晚会主持词
2015/06/30 职场文书
小学英语课教学反思
2016/02/15 职场文书
正则表达式拆分url实例代码
2022/02/24 Java/Android
一文了解Java动态代理的原理及实现
2022/07/07 Java/Android
JS开发前端团队展示控制器来为成员引流
2022/08/14 Javascript