`

php_数据库封装类_转转转

    博客分类:
  • php
阅读更多

<?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数据库操作类 DbClass

    在PHP开发中,数据库操作是不可或缺的一部分,而DbClass是一个常用的PHP数据库操作类,它封装了常见的数据库查询、增删改查等操作,使得开发者能够更高效、安全地与数据库进行交互。DbClass通常会支持多种数据库系统...

    PHP封装的mysqli数据库操作类示例

    本文所要分享的示例即是围绕mysqli扩展构建的一个数据库操作类,这个类的封装简化了数据库操作的流程,适用于需要进行数据库连接、数据查询、数据更新、数据排序、分页显示等操作的场景。 首先,该操作类包含了...

    php转数据库工具

    "PHP转数据库工具"就是一种专门解决这些问题的实用程序,它利用PHP编程语言封装了数据库操作,使得在不同数据库间进行数据迁移变得简单而高效。 首先,让我们深入了解PHP语言在数据库操作中的角色。PHP是一种广泛...

    理想的php数据库操作类

    "理想的PHP数据库操作类"旨在提供一个高效、安全且易于使用的接口,以便开发者能够更便捷地与各种数据库进行交互。下面,我们将深入探讨这个数据库操作类的核心知识点及其重要性。 首先,PHP中的数据库操作通常涉及...

    功能强大的PHP 数据库类

    "功能强大的PHP数据库类" 提供了一种高效且灵活的方式来处理数据库交互。这个类集成了多种数据库操作,使得开发者能够更轻松地执行查询、管理数据以及优化性能。 首先,`mysql_class.php` 文件很可能是这个数据库类...

    php分页类,加密类,数据库操作类,文件操作类,无限分级类

    3. **数据库操作类**:在PHP中,我们可以使用`PDO`或`mysqli`进行数据库操作,但为了更好的封装和抽象,数据库操作类应运而生。此类通常包括连接数据库、执行SQL语句、事务处理、预处理语句等功能,并提供错误处理和...

    完整的php操作MySQL数据库类

    本资源提供了一个完整的PHP操作MySQL数据库的类,对于初学者或者需要高效管理数据库的开发者来说非常有用。 首先,这个类通常会包含以下几个核心功能: 1. **连接数据库**:使用`mysqli_connect`或`PDO`函数建立与...

    购啊购1元云购源码 一元微购_带手机版_可封装APP_带机器人+教程

    教程部分则提供了如何部署和运行源码的指导,包括环境配置、数据库连接设置、服务器搭建、域名绑定以及APP封装的具体步骤,帮助没有太多技术背景的用户也能成功搭建和运营平台。 总的来说,这款源码提供了一整套...

    gdal.zip_GDAL_gd_封装 库

    3. **封装**:封装是将GDAL库的功能包装成易于使用的形式,通常包括创建类或函数,以简化调用接口,减少代码复杂性。这使得开发者无需深入了解GDAL的底层实现,也能有效地利用其功能。 4. **使用GDAL封装库**:通过...

    php mysql数据库操作类(实例讲解)

    本篇文档主要讲解了一个封装良好的PHP MySQL数据库操作类。该类封装了连接数据库和执行增删查改等操作的方法,非常适合初学者参考学习。 首先,这个数据库操作类通过构造函数初始化数据库连接,包括主机名、用户名...

    PHP MYSQL操作类

    为了方便高效地处理数据库操作,开发者通常会封装一个MySQL操作类,如`PHP_DataSet`。这个类可以提供一系列的方法,包括连接数据库、执行SQL语句、获取结果集、关闭连接等。下面将详细探讨`PHP_DataSet`类以及它在...

    php简单操作mysql数据库的类.docx

    在PHP中,操作MySQL数据库通常涉及使用MySQLi或PDO扩展,但这个例子提供了一个自定义的Database类,它封装了一些基本的数据库交互方法。以下是对这个类中关键知识点的详细解释: 1. **类变量**: 类`Database`包含了...

    php封装的分类导航类

    总的来说,这个PHP封装的分类导航类提供了一种灵活且可扩展的方法来管理和展示网站的分类结构,简化了开发过程,提高了代码的可维护性。对于需要处理复杂分类导航的项目来说,这是一个非常实用的工具。

    弹幕播放器 弹幕库_播放器_v3弹幕数据库_网页源码_icemw7_

    例如,它可能包含数据库操作的封装类,或者弹幕渲染的辅助方法。熟悉并利用这些工具,可以使开发过程更加高效。 最后,考虑到网页源码的兼容性和性能优化,你需要测试播放器在不同浏览器和设备上的表现,确保弹幕的...

    php基于PDO实现功能强大的MYSQL封装类实例

    在本实例中,我们探讨的是如何使用PDO来创建一个功能强大的MySQL封装类,以便简化数据库操作,如连接、查询、事务处理等。 首先,让我们了解一下这个封装类`CPdo`的主要组成部分: 1. **属性**: 类中定义了一系列...

    【PHP】根据IP地址查询省市(纯真数据库最新版)

    4. **数据封装**:为了方便多次使用,可以将以上逻辑封装成一个PHP类或函数。输入参数为IP地址,输出结果为省市区信息。这样,当需要查询多个IP地址时,只需调用一次函数,提高了代码的复用性。 5. **错误处理**:...

    PHP实例开发源码—文本数据库类.zip

    8. **自定义类的设计**:学习如何创建自定义的PHP类,封装数据库操作,提供面向对象的接口。 通过这个实例,开发者不仅可以学习到PHP的基本用法,还能了解到在没有现成数据库系统的情况下,如何利用PHP实现数据管理...

    四个常用的PHP类(生成静态类,分页类,数据库操作)

    这里我们关注的是四个常见的PHP类,它们分别用于生成静态HTML、处理文件上传、管理数据库操作以及实现分页功能。以下是对这些类的详细解释: 1. **生成静态HTML类** (html.php) 这个类的主要目的是将动态生成的...

    MySQL封装类

    MySQL封装类是对原始MySQL数据库连接和操作的一种抽象和简化,旨在提供更方便、高效和安全的数据库访问方式。在编程中,我们常常会为数据库操作编写一些通用的函数或类,这就是所谓的“封装”。这样的封装类可以大大...

Global site tag (gtag.js) - Google Analytics