`
gzycnet
  • 浏览: 32090 次
  • 性别: Icon_minigender_1
  • 来自: 贵阳
社区版块
存档分类
最新评论

PHP访问MYSQL数据库封装类

阅读更多

参考discuz 6.1和一些网上资源,自己简化封装了一下,在php5+mysql5上测试通过,附件有完整的代码.

<?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访问MYSQL数据库封装类.zip

    MYSQL 数据库访问封装类  MYSQL 数据访问方式,php4支持以mysql_开头的过程访问方式,php5开始支持以mysqli_开头的过程和mysqli面向对象  访问方式,本封装类以mysql_封装  数据访问的一般流程:  1,连接...

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

    【PHP访问MYSQL数据库封装类详解】 在PHP编程中,访问MySQL数据库是常见的操作。为了提高代码的可维护性和重用性,通常会将数据库访问的相关功能进行封装,形成一个独立的类。本篇文章将详细解释如何创建一个基于...

    新手学习,php7中mysql数据库操作类实例,非常清晰易懂

    在PHP7中,MySQL数据库操作通常使用mysqli或PDO_MySQL扩展进行,但对于新手来说,创建一个封装好的数据库操作类可以简化很多工作。这个实例主要介绍如何构建一个PHP7中的MySQL数据库操作类,以实现连接、查询、插入...

    php数据库连接mysql封装类

    php数据库连接mysql封装类,改类能让初学着更好的实用php连接mysql

    php链接mysql数据库类

    此PHP类提供了一种封装良好的方式来管理与MySQL数据库的交互,通过定义一系列方法来简化数据库操作,如连接数据库、执行SQL语句、错误处理等。开发者可以通过实例化此类并调用相应的方法轻松地完成数据库相关的工作...

    php数据库访问封装类集合

    下面我们将详细讨论MySQL数据库访问封装类的一些核心功能和设计模式: 1. **数据库连接**:封装类通常会包含一个`connect()`方法,用于建立到MySQL服务器的连接。这个方法可能需要主机名、用户名、密码和数据库名称...

    一个mysql数据库连接类

    总的来说,这个“mysql数据库连接类”为PHP开发者提供了一种结构化、可复用的方式来处理MySQL数据库连接,提高了代码的可维护性和效率。通过理解和运用这个类,开发者能够更专注于业务逻辑,而不是底层的数据库操作...

    php连接mysql数据库操作类.zip

    总之,"php连接mysql数据库操作类.zip"提供的类库为PHP开发者提供了一种封装好的方式来处理MySQL数据库操作,降低了学习曲线,提高了开发效率。通过对这个类库的学习和实践,开发者可以更好地理解和掌握PHP与MySQL的...

    php实现MySQL数据库操作类.zip

    在PHP编程中,MySQL数据库操作是常见的任务,为了简化这些操作,开发者通常会创建自定义的数据库操作类。本篇文章将深入探讨如何使用PHP实现一个MySQL数据库操作类,包括连接、查询、插入、更新和删除数据等核心功能...

    简单实用的php mysql数据库连接类

    这个"简单实用的php mysql数据库连接类"可能就是基于这两种方法之一,提供了一种封装的连接管理方式。 类的基本结构通常包含以下部分: 1. **构造函数**:用于初始化数据库连接参数,如主机名、用户名、密码和...

    Mysql封装类 php 数据库 操作类 db 数据库

    `class_mysql_sample.php`可能是使用`class_mysql.php`的一个示例文件,展示了如何实例化数据库封装类并进行实际操作。例如,它可能包含以下代码片段: ```php require_once 'class_mysql.php'; $db = new class_...

    php的mysql数据库连接类

    这里我们关注的是一个名为"php的mysql数据库连接类"的工具,它提供了一种简便的方法来处理MySQL数据库的连接、查询和其他相关操作。下面将详细讨论PHP连接MySQL数据库的相关知识点。 首先,PHP提供了多种方式来连接...

    windows关于qt的数据库操作封装类以及用例,c++代码

    windows 关于qt的数据库操作封装类 以及用例: SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它的功能特点有: 1. ACID事务 2. 零配置 – 无需安装和管理配置 3....

    php数据库操作封装类.zip

    优秀的封装类还会考虑未来扩展,例如支持多种数据库驱动(如PDO_MySQL、mysqli等),方便切换不同的数据库系统。 通过使用这样的PHP数据库操作封装类,开发者可以更专注于业务逻辑,而不是数据库操作的细节,提升...

    完整的php操作MySQL数据库类.zip

    这个"完整的php操作MySQL数据库类"提供了一种结构化的、封装好的方式来实现这一目标。它将常见的数据库操作,如连接、查询、插入、更新和删除等,封装成了一系列的方法,方便开发者在项目中调用,提高了代码的可维护...

    mysql数据库备份还原类.rar

    本压缩包"mysql数据库备份还原类.rar"提供了两个PHP类文件,dbback.class.php和upfile.class.php,它们可能用于实现MySQL数据库的自动备份和恢复功能。 1. **数据库备份**: - 备份原理:通常,MySQL数据库的备份...

    php连接mysql数据库操作类

    在PHP编程中,连接并操作MySQL数据库是一项基本且重要的任务。这款PHP MySQL操作类提供了全面的功能,涵盖了数据的查询、更新、删除等操作,适用于初学者进行学习和实践,同时也为有经验的开发者提供了一个可自定义...

    as3.0访问mysql数据库

    在本文中,我们将深入探讨如何使用AS3.0(ActionScript 3.0)通过Flash与PHP进行交互,从而访问MySQL数据库。ActionScript是Adobe Flash Professional和Flash Builder中用于创建动态内容的编程语言,而PHP是一种广泛...

    php中mysql数据库操作类

    首先,让我们了解一个基本的PHP MySQL数据库操作类的组成部分: 1. **连接配置**:在类的初始化阶段,通常会包含数据库的连接参数,如主机名(hostname)、用户名(username)、密码(password)和数据库名...

Global site tag (gtag.js) - Google Analytics