- 浏览: 404373 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
goahead2010:
有用
JS遍历对象或者数组 -
bishibaodian:
不要在这样找笔试题了,一次就这么几个,还没过瘾就没有了,去安装 ...
整理了一份招PHP高级工程师的面试题 -
smallearth:
不错
整理了一份招PHP高级工程师的面试题 -
ipodao:
暂时没发现啊!
IE域名带有下划线导致的session丢失 -
ipodao:
谢了
JS遍历对象或者数组
<?php Class DB { private $link_id; private $handle; private $is_log; private $time; //构造函数 public function __construct() { $this->time = $this->microtime_float(); require_once("config.db.php"); $this->connect($db_config["hostname"], $db_config["username"], $db_config["password"], $db_config["database"], $db_config["pconnect"]); $this->is_log = $db_config["log"]; if($this->is_log){ $handle = fopen($db_config["logfilepath"]."dblog.txt", "a+"); $this->handle=$handle; } } //数据库连接 public function connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect = 0,$charset='utf8') { if( $pconnect==0 ) { $this->link_id = @mysql_connect($dbhost, $dbuser, $dbpw, true); if(!$this->link_id){ $this->halt("数据库连接失败"); } } else { $this->link_id = @mysql_pconnect($dbhost, $dbuser, $dbpw); if(!$this->link_id){ $this->halt("数据库持久连接失败"); } } if(!@mysql_select_db($dbname,$this->link_id)) { $this->halt('数据库选择失败'); } @mysql_query("set names ".$charset); } //查询 public function query($sql) { $this->write_log("查询 ".$sql); $query = mysql_query($sql,$this->link_id); if(!$query) $this->halt('Query Error: ' . $sql); return $query; } //获取一条记录(MYSQL_ASSOC,MYSQL_NUM,MYSQL_BOTH) public function get_one($sql,$result_type = MYSQL_ASSOC) { $query = $this->query($sql); $rt =& mysql_fetch_array($query,$result_type); $this->write_log("获取一条记录 ".$sql); return $rt; } //获取全部记录 public function get_all($sql,$result_type = MYSQL_ASSOC) { $query = $this->query($sql); $i = 0; $rt = array(); while($row =& mysql_fetch_array($query,$result_type)) { $rt[$i]=$row; $i++; } $this->write_log("获取全部记录 ".$sql); return $rt; } //插入 public function insert($table,$dataArray) { $field = ""; $value = ""; if( !is_array($dataArray) || count($dataArray)<=0) { $this->halt('没有要插入的数据'); return false; } while(list($key,$val)=each($dataArray)) { $field .="$key,"; $value .="'$val',"; } $field = substr( $field,0,-1); $value = substr( $value,0,-1); $sql = "insert into $table($field) values($value)"; $this->write_log("插入 ".$sql); if(!$this->query($sql)) return false; return true; } //更新 public function update( $table,$dataArray,$condition="") { if( !is_array($dataArray) || count($dataArray)<=0) { $this->halt('没有要更新的数据'); return false; } $value = ""; while( list($key,$val) = each($dataArray)) $value .= "$key = '$val',"; $value .= substr( $value,0,-1); $sql = "update $table set $value where 1=1 and $condition"; $this->write_log("更新 ".$sql); if(!$this->query($sql)) return false; return true; } //删除 public function delete( $table,$condition="") { if( empty($condition) ) { $this->halt('没有设置删除的条件'); return false; } $sql = "delete from $table where 1=1 and $condition"; $this->write_log("删除 ".$sql); if(!$this->query($sql)) return false; return true; } //返回结果集 public function fetch_array($query, $result_type = MYSQL_ASSOC){ $this->write_log("返回结果集"); return mysql_fetch_array($query, $result_type); } //获取记录条数 public function num_rows($results) { if(!is_bool($results)) { $num = mysql_num_rows($results); $this->write_log("获取的记录条数为".$num); return $num; } else { return 0; } } //释放结果集 public function free_result() { $void = func_get_args(); foreach($void as $query) { if(is_resource($query) && get_resource_type($query) === 'mysql result') { return mysql_free_result($query); } } $this->write_log("释放结果集"); } //获取最后插入的id public function insert_id() { $id = mysql_insert_id($this->link_id); $this->write_log("最后插入的id为".$id); return $id; } //关闭数据库连接 protected function close() { $this->write_log("已关闭数据库连接"); return @mysql_close($this->link_id); } //错误提示 private function halt($msg='') { $msg .= "\r\n".mysql_error(); $this->write_log($msg); die($msg); } //析构函数 public function __destruct() { $this->free_result(); $use_time = ($this-> microtime_float())-($this->time); $this->write_log("完成整个查询任务,所用时间为".$use_time); if($this->is_log){ fclose($this->handle); } } //写入日志文件 public function write_log($msg=''){ if($this->is_log){ $text = date("Y-m-d H:i:s")." ".$msg."\r\n"; fwrite($this->handle,$text); } } //获取毫秒数 public function microtime_float() { list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); } } ?>
<?php $db_config["hostname"] = "localhost"; //服务器地址 $db_config["username"] = "root"; //数据库用户名 $db_config["password"] = "123"; //数据库密码 $db_config["database"] = "test"; //数据库名称 $db_config["charset"] = "utf8";//数据库编码 $db_config["pconnect"] = 1;//开启持久连接 $db_config["log"] = 1;//开启日志 $db_config["logfilepath"] = './';//开启日志 ?>
发表评论
-
引用和global
2013-02-01 18:05 834<?php $var1 = 1; $var ... -
面向对象之多态
2013-02-01 17:49 982Java实现 //定义接口Animal interf ... -
PHP HTTP Authentication
2012-11-22 17:39 890<?php $config['admin_ ... -
PHP实现的栈
2012-11-16 13:44 971<?php class Stack{ ... -
pearl && pecl
2012-09-21 15:02 958Pear:是PHP的扩展代码包,所有的扩展均以PHP代码的形式 ... -
PHP集成PayPal
2012-09-18 18:34 18891.注册开发者账号,注册完登陆,然后新建一个Business账 ... -
PHP中 Magic quotes
2012-06-26 17:45 1330什么是 Magic Quotes? Magic Quo ... -
php请求
2012-06-20 15:25 966wev-server处理一个php请求,是给 ... -
一个CURD的demo
2012-06-13 16:19 0一个后台管理的demo -
php
2012-06-09 18:22 0redis是个单线程的程序,为什么会这么快呢?每秒100 ... -
PHP的工作模型
2012-06-05 17:16 1367http://www.mike.org.cn/arti ... -
phpstorm3.0以下的注册码
2012-03-31 09:52 901EMBRACE ===== LICENSE B ... -
call_user_func函数和call_user_func_array函数
2012-03-09 14:56 10021.call_user_func函数是当需要动态调用函数时,才 ... -
SNS
2012-03-08 16:09 01.AS可以打包多个请求成一个包然后一起发送,服务端然后一个一 ... -
PHP this,self 和 parent 关键字
2012-02-29 22:23 887我们先建立几个概念,这三个关键字分别是用在什么地方 呢? ... -
一些截取的函数
2012-02-29 18:33 0<?php $str = 'abcdk123 ... -
细说PHP中strlen和mb_strlen的区别
2012-02-29 16:53 1313在PHP中,strlen与mb_strlen ... -
PHP数据库
2012-02-28 16:36 0但对于 PHP 语言来说它是放在 Apache 上的,每一个请 ... -
PHP取权重
2012-02-17 14:42 1060在实际的开发过程中,经常会用到一些几率的时间,例如有这样一个奖 ... -
整理了一份招PHP高级工程师的面试题
2012-02-08 09:04 422271. 基本知识点 HTTP协议中几个状态码的含义:1xx( ...
相关推荐
【标题】:“强大的通用php数据库操作类” 在PHP开发中,数据库操作是核心部分,而一个强大且通用的PHP数据库操作类能极大地提升开发效率,降低出错概率。这类类库通常封装了基本的SQL查询功能,如增删改查(CRUD)...
这个类是一个PHP操作数据库的抽象类。直接下载就可以使用。里面有简单的使用例子。这个类绝对可以帮助你完成对数据库的各种操作。
通过使用这样一个PHP数据库操作类,开发者可以更专注于业务逻辑,而不必关心底层数据库操作的细节,提高开发效率。同时,类的封装使得代码更加整洁,易于测试和维护。在实际项目中,你可以根据需求对这个类进行扩展...
下面将详细解释如何实现这样一个PHP数据库操作类。 1. 连接数据库 首先,我们需要建立与数据库的连接。在PHP中,常用的数据库扩展有MySQLi和PDO(PHP Data Objects)。这里以MySQLi为例,创建一个构造函数来初始化...
这个自编写的PHP数据库操作类,名为DBConnection,旨在提供一个高效、灵活的解决方案来管理多个数据库连接,允许开发者根据需求轻松地在不同的数据源之间切换。 DBConnection类的主要特点和功能如下: 1. **多...
在PHP开发中,数据库操作是不可或缺的一部分,而DbClass是一个常用的PHP数据库操作类,它封装了常见的数据库查询、增删改查等操作,使得开发者能够更高效、安全地与数据库进行交互。DbClass通常会支持多种数据库系统...
"理想的PHP数据库操作类"旨在提供一个高效、安全且易于使用的接口,以便开发者能够更便捷地与各种数据库进行交互。下面,我们将深入探讨这个数据库操作类的核心知识点及其重要性。 首先,PHP中的数据库操作通常涉及...
在这个PDF文档中,介绍了一个自定义的PHP数据库操作类,这个类简化了数据库连接、查询和其他数据库操作的过程。以下是该类的一些关键知识点: 1. **类属性**: - `$db_host`:存储数据库主机名,通常是服务器地址...
标题提到的"自己写的一个PHP数据库操作类"正是为了解决这个问题,提供了一种封装和抽象数据库操作的方法。 该数据库操作类可能包含了一系列的函数或方法,用于执行常见的数据库操作,如添加(INSERT)、删除...
标题中的“PHP基于pdo的数据库操作类【可支持mysql、sqlserver及oracle】”指的是一个...总的来说,这个基于PDO的数据库操作类是一个实用工具,简化了多数据库环境下的PHP数据库操作,提高了代码的可维护性和可扩展性。
主要介绍了PHP简单数据库操作类实例,支持增删改查及链式操作,非常适合小型项目的开发使用。 在进行项目开发时,数据库是必不可少的东西了。但是很多时候却又对数据库SQL语句的繁杂而感到头疼。提供一个数据库...
为了简化这一过程,开发者通常会创建自定义的数据库操作类。本文将深入探讨PHP中MySQL数据库操作类的设计与应用,以及如何利用此类高效地进行数据库交互。 首先,PHP中的MySQL数据库操作通常基于两种方式:MySQLi...
php数据库操作类pdo封装的源代码,不用写sql语句,只需要写数据对象po即可
方便快捷, 数据库操作只需调用接口; 2.统一编码(utf8),不易导致乱码 3.结构清晰. 如处理前端请求的后台程序(test.php) 表封装类(user.class.php) 数据库封装类(db.class.php) 配置信息...