`
dasangshu
  • 浏览: 4513 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

php数据库操作类

阅读更多
<?php
			/**
			 * 数据库操作类
			 */
			define("UserName", 'root');	 //数据库连接用户名
			define("PassWord", '55');	 //数据库连接密码
			define("ServerName", 'localhost');	 //数据库服务器的名称
			define('DBName','apication');	 //数据库名称

			/**
			功能:数据库的基础操作类
			**/

	class DB{
			private $CONN = "";	 //定义数据库连接变量
			/**
			* 功能:初始化构造函数,连接数据库
			* 参数:
			* 返回:数据库连接$conn
			*/
			public function __construct(){
			try {	 //捕获连接错误并显示错误文件
			$conn = mysql_connect(ServerName,UserName,PassWord);
			}catch (Exception $e)
			{
			$msg = $e;
			include(ERRFILE);
			}
			try {	 //捕获数据库选择错误并显示错误文件
			mysql_select_db(DBName,$conn);
			mysql_query("set names utf8"); //另外限定编码类型!
			}catch (Exception $e)
			{
			$msg = $e;
			include(ERRFILE);
			}
			$this->CONN = $conn;
			}
			/**
			* 功能:数据库查询函数
			* 参数:$sql SQL语句
			* 返回:键值为字段名的数组或false
			*/
			public function select($sql = ""){
			if (empty($sql)) return false;	 //如果SQL语句为空则返回FALSE
			if (empty($this->CONN)) return false;	 //如果连接为空则返回FALSE
			try{	 //捕获数据库选择错误并显示错误文件
			$results = mysql_query($sql,$this->CONN);
			}catch (Exception $e){
			$msg = $e;
			include(ERRFILE);
			}
			if ((!$results) or (empty($results))) {	 //如果查询结果为空则释放结果并返回FALSE
			@mysql_free_result($results);
			return false;
			}

			$count = 0;
			$data = array();

			while ($row = @mysql_fetch_assoc($results)) {	//把查询结果重组成一个键值为字段名的一维数组
			$data[$count] = $row;
			$count++;
			}
			@mysql_free_result($results);
			return $data;
			}
			/**
			* 功能:数据插入函数
			* 参数:$sql SQL语句
			* 返回:0或新插入数据的id
			*/
			public function insert($sql = ""){
			if (empty($sql)) return 0;	 //如果SQL语句为空则返回FALSE
			if (empty($this->CONN)) return 0;	 //如果连接为空则返回FALSE
			try{	 //捕获数据库选择错误并显示错误文件
			$results = mysql_query($sql,$this->CONN);
			}catch(Exception $e){
			$msg = $e;
			include(ERRFILE);
			}
			if (!$results) //如果插入失败返回0,否则返回当前插入数据id
			return 0;
			else
			return @mysql_insert_id($this->CONN);
			}

			/**
			* 功能:数据更新函数
			* 参数:$sql SQL语句
			* 返回:TRUE OR FALSE
			*/
			public function update($sql = ""){
			if(empty($sql)) return false;	 //如果SQL语句为空则返回FALSE
			if(empty($this->CONN)) return false;	 //如果连接为空则返回FALSE
			try{	 //捕获数据库选择错误并显示错误文件
			$result = mysql_query($sql,$this->CONN);
			}catch(Exception $e){
			$msg = $e;
			include(ERRFILE);
			}
			return $result;
			}
			/**
			* 功能:数据删除函数
			* 参数:$sql SQL语句
			* 返回:TRUE OR FALSE
			*/
			public function delete($sql = ""){
			if(empty($sql)) return false;	 //如果SQL语句为空则返回FALSE
			if(empty($this->CONN)) return false;	 //如果连接为空则返回FALSE
			try{
			$result = mysql_query($sql,$this->CONN);
			}catch(Exception $e){
			$msg = $e;
			include(ERRFILE);
			}
			return $result;
			}

			/**
			* 功能:定义事务
			*/
			public function begintransaction()
			{
			mysql_query("SET AUTOCOMMIT=0");	 //设置为不自动提交,因为MYSQL默认立即执行
			mysql_query("BEGIN");	 //开始事务定义
			}
			/**
			* 功能:回滚
			*/
			public function rollback()
			{
			mysql_query("ROOLBACK");
			}
			/**
			* 功能:提交执行
			*/
			public function commit()
			{
			mysql_query("COMMIT");
			}

			/**
			* 功能:提取指定表的指定id的记录,
			* 参数:$id 表id,$dbname 表名称,$where id所对应的字段
			* 返回:表中符合条件所有行,只一行则返回一维数组,2行以上返回2维数组{符合条件所有行}
			*/
			public function getInfo($id,$dbname,$where="bs_id")
			{
			$sql = "SELECT * FROM " . $dbname . " WHERE $where = '".$id."'";
			$r = $this->select($sql);

			if (isset($r[1])) {
			return $r;
			}else{
			return $r[0];
			}
			//return $r[0];
			}

			/**
			* 功能:向指定表中插入数据
			* 参数:$dbname 表名称,$data 数组(格式:$data['字段名'] = 值)
			* 返回:插入记录id
			*/
			public function insertData($dbname,$data)
			{
			$field = implode(',',array_keys($data));	 //定义sql语句的字段部分
			$i = 0;
			foreach($data as $key => $val)	 //组合sql语句的值部分
			{
			$value.= "'" . $val . "'";
			if($i < count($data) - 1)	 //判断是否到数组的最后一个值
			$value.= ",";
			$i++;
			}
			$sql = "INSERT INTO " . $dbname . " (" . $field . ") VALUES(" . $value . ")";
			return $this->insert($sql);
			}
			/**
			* 功能:更新指定表指定id的调查表记录(默认是操作比赛表的,但选手表不适用此函数)
			* 参数:$dbname 表名称,$id 表id,$data 数组(格式:$data['字段名'] = 值)
			* 返回:TRUE OR FALSE
			*/
			public function updateData($dbname,$id,$data,$where="bs_id"){
			$col = array();
			foreach ($data as $key => $value)
			{
			$col[] = $key . "='" . $value . "'";
			}
			$sql = "UPDATE " . $dbname . " SET " . implode(',',$col) . " WHERE $where = $id";
			return $this->update($sql);
			}

/**
* 功能:删除指定id的表记录(默认是操作比赛表的,选手表不适用此函数)
* 参数:$id表id,$dbname 表名称
* 返回:TRUE OR FALSE
*/
		public function delData($id,$dbname,$where="bs_id")
		{
		$sql = "DELETE FROM " . $dbname . " WHERE $where = '".$id."'";
		return $this->delete($sql);
		}
   }
   $app=new DB();
   $app->delData->('app',where ,id=4);

?>

分享到:
评论

相关推荐

    强大的通用php数据库操作类

    【标题】:“强大的通用php数据库操作类” 在PHP开发中,数据库操作是核心部分,而一个强大且通用的PHP数据库操作类能极大地提升开发效率,降低出错概率。这类类库通常封装了基本的SQL查询功能,如增删改查(CRUD)...

    PHP数据库操作类

    PHP数据库操作类,MYSQL操作类!很强大

    PHP数据库操作类--数据库操作

    这个类是一个PHP操作数据库的抽象类。直接下载就可以使用。里面有简单的使用例子。这个类绝对可以帮助你完成对数据库的各种操作。

    PHP数据库操作类的实现

    下面将详细解释如何实现这样一个PHP数据库操作类。 1. 连接数据库 首先,我们需要建立与数据库的连接。在PHP中,常用的数据库扩展有MySQLi和PDO(PHP Data Objects)。这里以MySQLi为例,创建一个构造函数来初始化...

    PHP数据库操作类,支持多连接

    这个自编写的PHP数据库操作类,名为DBConnection,旨在提供一个高效、灵活的解决方案来管理多个数据库连接,允许开发者根据需求轻松地在不同的数据源之间切换。 DBConnection类的主要特点和功能如下: 1. **多...

    php数据库操作类 DbClass

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

    理想的php数据库操作类

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

    PHP数据库操作类.pdf

    在这个PDF文档中,介绍了一个自定义的PHP数据库操作类,这个类简化了数据库连接、查询和其他数据库操作的过程。以下是该类的一些关键知识点: 1. **类属性**: - `$db_host`:存储数据库主机名,通常是服务器地址...

    自己写的一个PHP数据库操作类

    标题提到的"自己写的一个PHP数据库操作类"正是为了解决这个问题,提供了一种封装和抽象数据库操作的方法。 该数据库操作类可能包含了一系列的函数或方法,用于执行常见的数据库操作,如添加(INSERT)、删除...

    PHP基于pdo的数据库操作类【可支持mysql、sqlserver及oracle】.docx

    标题中的“PHP基于pdo的数据库操作类【可支持mysql、sqlserver及oracle】”指的是一个...总的来说,这个基于PDO的数据库操作类是一个实用工具,简化了多数据库环境下的PHP数据库操作,提高了代码的可维护性和可扩展性。

    php简单数据库操作类.zip

    主要介绍了PHP简单数据库操作类实例,支持增删改查及链式操作,非常适合小型项目的开发使用。 在进行项目开发时,数据库是必不可少的东西了。但是很多时候却又对数据库SQL语句的繁杂而感到头疼。提供一个数据库...

    php中mysql数据库操作类.zip

    为了简化这一过程,开发者通常会创建自定义的数据库操作类。本文将深入探讨PHP中MySQL数据库操作类的设计与应用,以及如何利用此类高效地进行数据库交互。 首先,PHP中的MySQL数据库操作通常基于两种方式:MySQLi...

    php数据库操作类pdo

    php数据库操作类pdo封装的源代码,不用写sql语句,只需要写数据对象po即可

    php封装数据库操作类.zip

    方便快捷, 数据库操作只需调用接口; 2.统一编码(utf8),不易导致乱码 3.结构清晰. 如处理前端请求的后台程序(test.php) 表封装类(user.class.php) 数据库封装类(db.class.php) 配置信息...

Global site tag (gtag.js) - Google Analytics