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 相关文章推荐
第七节--类的静态成员
Nov 16 PHP
如何使用“PHP” 彩蛋进行敏感信息获取
Aug 07 PHP
php设计模式之命令模式使用示例
Mar 02 PHP
使用PHP破解防盗链图片的一个简单方法
Jun 07 PHP
PHP中把数据库查询结果输出为json格式简单实例
Apr 09 PHP
php对文件夹进行相关操作(遍历、计算大小)
Nov 04 PHP
php ucwords() 函数将字符串中每个单词的首字符转换为大写(实现代码)
May 12 PHP
php实现将base64格式图片保存在指定目录的方法
Oct 13 PHP
php 读写json文件及修改json的方法
Mar 07 PHP
在Laravel 中实现是否关注的示例
Oct 22 PHP
PHP用swoole+websocket和redis实现web一对一聊天
Nov 05 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
Dec 20 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
跟我学小偷程序之成功偷取首页(第三天)
2006/10/09 PHP
令PHP初学者头疼十四条问题大总结
2008/11/12 PHP
php代码运行时间查看类代码分享
2011/08/06 PHP
php实现的Timer页面运行时间监测类
2014/09/24 PHP
PHP简单检测网址是否能够正常打开的方法
2016/09/04 PHP
thinkPHP自定义类实现方法详解
2016/11/30 PHP
科讯商业版中用到的ajax空间与分页函数
2007/09/02 Javascript
JavaScript 学习点滴记录
2009/04/24 Javascript
javascript 特性检测并非浏览器检测
2010/01/15 Javascript
JavaScript在IE和Firefox浏览器下的7个差异兼容写法小结
2010/06/18 Javascript
JavaScript link方法入门实例(给字符串加上超链接)
2014/10/17 Javascript
jQuery使用animate创建动画用法实例
2015/08/07 Javascript
JS中artdialog弹出框控件之提交表单思路详解
2016/04/18 Javascript
javascirpt实现2个iframe之间传值的方法
2016/06/30 Javascript
Angular和Vue双向数据绑定的实现原理(重点是vue的双向绑定)
2016/11/22 Javascript
jQuery实现获取隐藏div高度的方法示例
2017/02/09 Javascript
Python自动化测试工具Splinter简介和使用实例
2014/05/13 Python
DJANGO-ALLAUTH社交用户系统的安装配置
2014/11/18 Python
python获取目录下所有文件的方法
2015/06/01 Python
详解 Python 与文件对象共事的实例
2017/09/11 Python
详解如何为eclipse安装合适版本的python插件pydev
2018/11/04 Python
Python使用qrcode二维码库生成二维码方法详解
2020/02/17 Python
浅谈Pytorch中的自动求导函数backward()所需参数的含义
2020/02/29 Python
python 模块导入问题汇总
2021/02/01 Python
深入剖析webstorage[html5的本地数据处理]
2016/07/11 HTML / CSS
快速创建 HTML5 Canvas 电信网络拓扑图的示例代码
2018/03/21 HTML / CSS
汽车维修工岗位职责
2014/02/12 职场文书
三分钟演讲稿事例
2014/03/03 职场文书
学校节能减排倡议书
2014/05/16 职场文书
营业员岗位职责
2015/02/11 职场文书
优秀党员个人总结
2015/02/14 职场文书
告知书格式
2015/07/01 职场文书
pytorch锁死在dataloader(训练时卡死)
2021/05/28 Python
Python制作动态字符画的源码
2021/08/04 Python
Vue elementUI表单嵌套表格并对每行进行校验详解
2022/02/18 Vue.js
vue elementUI表格控制对应列
2022/04/13 Vue.js