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
mysql5写入和读出乱码解决
Nov 25 PHP
从一个不错的留言本弄的mysql数据库操作类
Sep 02 PHP
windows环境下php配置memcache的具体操作步骤
Jun 09 PHP
解析如何通过PHP函数获取当前运行的环境 来进行判断执行逻辑(小技巧)
Jun 25 PHP
使用PHP实现阻止用户上传成人照片或者裸照
Dec 25 PHP
PHP 实现判断用户是否手机访问
Jan 21 PHP
php创建桌面快捷方式实现方法
Dec 31 PHP
关于PHP中Session文件过多的问题及session文件保存位置
Mar 17 PHP
ThinkPHP使用Ueditor的方法详解
May 20 PHP
phpcms的分类名称和类别名称的调用
Jan 05 PHP
PHP并发查询MySQL的实例代码
Aug 09 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&amp;&amp;mysql)六
2006/10/09 PHP
如何解决CI框架的Disallowed Key Characters错误提示
2013/07/05 PHP
简单的php中文转拼音的实现代码
2014/02/11 PHP
php实现图片添加描边字和马赛克的方法
2014/12/10 PHP
wordpress自定义标签云与随机获取标签的方法详解
2019/03/22 PHP
js 编程笔记 无名函数
2011/06/28 Javascript
YUI Compressor压缩JavaScript原理及微优化
2013/01/07 Javascript
让js弹出窗口居前显示的实现方法
2013/07/10 Javascript
深入理解JavaScript系列(22):S.O.L.I.D五大原则之依赖倒置原则DIP详解
2015/03/05 Javascript
Node.js的npm包管理器基础使用教程
2016/05/26 Javascript
JS实现简单的右下角弹出提示窗口完整实例
2016/06/21 Javascript
JavaScript中关于for循环删除数组元素内容时出现的问题
2016/11/21 Javascript
ajax 提交数据到后台jsp页面及页面跳转问题
2017/01/19 Javascript
JavaScript变量作用域_动力节点Java学院整理
2017/06/27 Javascript
使用ef6创建oracle数据库的实体模型遇到的问题及解决方案
2017/11/09 Javascript
深入理解node.js http模块
2018/01/24 Javascript
浅谈node中的cluster集群
2018/06/02 Javascript
微信小程序渲染性能调优小结
2019/07/30 Javascript
vue组件传值的实现方式小结【三种方式】
2020/02/05 Javascript
vue 监听窗口变化对页面部分元素重新渲染操作
2020/07/28 Javascript
Vue3配置axios跨域实现过程解析
2020/11/25 Vue.js
在Python操作时间和日期之asctime()方法的使用
2015/05/22 Python
Python 获取当前所在目录的方法详解
2017/08/02 Python
Python进阶之尾递归的用法实例
2018/01/31 Python
Python基于最小二乘法实现曲线拟合示例
2018/06/14 Python
Python动态参数/命名空间/函数嵌套/global和nonlocal
2019/05/29 Python
Python魔术方法专题
2020/06/19 Python
Python实现EM算法实例代码
2020/10/04 Python
CSS3实现类似翻书效果的过渡动画的示例代码
2019/09/06 HTML / CSS
Kiwi.com中国:找到特价机票并发现新目的地
2019/10/27 全球购物
病人写给医生的感谢信
2015/01/23 职场文书
大一新生军训新闻稿
2015/07/17 职场文书
演讲比赛通讯稿
2015/07/18 职场文书
建国70周年的心得体会(2篇)
2019/09/20 职场文书
创业计划书之儿童理发店
2019/09/27 职场文书
asyncio异步编程之Task对象详解
2022/03/13 Python