PHP访问MYSQL数据库封装类(附函数说明)

 更新时间:2010年12月04日 22:50:20   作者:  
MYSQL 数据访问方式,php4支持以mysql_开头的过程访问方式,php5开始支持以mysqli_开头的过程和mysqli面向对象访问方式,本封装类以mysql_封装
复制代码 代码如下:

<?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求数组全排列,元素所有组合的方法

    这篇文章主要介绍了php求数组全排列,元素所有组合的方法,涉及php针对数组与字符串的分割、遍历、数学运算等技巧,需要的朋友可以参考下
    2016-05-05
  • 一个PHP的远程图片抓取函数分享

    一个PHP的远程图片抓取函数分享

    远程图片抓取的方法有很多,在本文将为大家介绍下php中是如何实现的,感兴趣的朋友可以了解下
    2013-09-09
  • php实现快速排序法函数代码

    php实现快速排序法函数代码

    取一个值与其他值进行比较,小的放在这个值的左边,大的放在这个值的右边,然后按照这个方式递归
    2012-08-08
  • php读取flash文件高宽帧数背景颜色的方法

    php读取flash文件高宽帧数背景颜色的方法

    这篇文章主要介绍了php读取flash文件高宽帧数背景颜色的方法,可实现对swf文件的高宽帧数背景颜色等信息的读取功能,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01
  • PHP迭代器和迭代的实现与使用方法分析

    PHP迭代器和迭代的实现与使用方法分析

    这篇文章主要介绍了PHP迭代器和迭代的实现与使用方法,结合实例形式分析了PHP迭代器的概念、原理、定义与使用方法,需要的朋友可以参考下
    2018-04-04
  • 抓取并下载CSS中所有图片文件的php代码

    抓取并下载CSS中所有图片文件的php代码

    今天就让 PHP 用正则式把 CSS 文件中的所有图片文件,都从 CSS 原来的位置下载来吧。
    2011-09-09
  • 详解EventDispatcher事件分发组件

    详解EventDispatcher事件分发组件

    Symfony EventDispatcher以一个简单有效的方式实现了中介者模式,事件分发器就是那个中介,让系统和插件不会耦合在一起,这让上面的插件系统成为可能,而且他会让你的项目可扩展性更好。本文将对此进行详细介绍,需要的朋友一起来看下吧
    2016-12-12
  • PHP中array_keys和array_unique函数源码的分析

    PHP中array_keys和array_unique函数源码的分析

    本文从array_keys和array_unique的源码分析出函数的性能,并给出了优化建议,十分不错的文章,有需要的小伙伴可以参考下
    2016-02-02
  • PHP中危险的file_put_contents函数详解

    PHP中危险的file_put_contents函数详解

    file_put_contents() 函数把一个字符串写入文件中。最近发现file_put_contents函数有一直没注意到的问题,所以下面这篇文章主要给大家介绍了关于PHP中危险的file_put_contents函数的相关资料,需要的朋友可以参考借鉴,下面来一起看吧。
    2017-11-11
  • 10个对初学者非常有用的PHP技巧

    10个对初学者非常有用的PHP技巧

    这篇文章主要为大家详细介绍了10个对初学者非常有用的PHP技巧,这些PHP技巧适用于初学者,而不是那些已经在使用MVC框架的人,感兴趣的小伙伴们可以参考一下
    2016-04-04

最新评论