代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
PHP
】
数据库操作类
作者:
quan1986
/ 发布于
2013/3/18
/
742
数据库操作类
<?php class DB { public $queryNum = 0; // 执行SQL语句的次数 public $link; // MySQL连接标识 public $dbPrefix; //表前缀 /** * 缓存实例 * * @var objeact * @access protected */ public $cache; public $is_cache = false; public function __construct($dbhost, $dbuser, $dbpw, $dbname = '', $charset = 'utf_8', $dbPrefix = '') { $this->link = mysql_connect ( $dbhost, $dbuser, $dbpw, true ); $this->dbPrefix = $dbPrefix; if ($this->link) { mysql_select_db ( $dbname, $this->link ); $charset = str_replace ( '_', '', $charset ); mysql_query ( "SET NAMES '$charset'", $this->link ); } else { $this->throwException ( 'MySQL server error report!' ); } } /** * @todo 执行SQL语句 * @param string $sql * @param array $args */ public function query($sql) { $rs = mysql_query($sql, $this->link); if ($rs) { $this->queryNum++; $this->numRows = mysql_affected_rows($this->link); $this->debug($sql); return $rs; } else { $this->debug($sql, false, $this->getError()); $this->success = false; return false; } } /** * 返回结果集的数组形式 * @return array */ function fetch_array($rs, $result_type = MYSQL_ASSOC) { return mysql_fetch_array ( $rs, $result_type ); } // * 返回结果集的数组形式row public function fetch_row($rs) { return mysql_fetch_row ($rs); } /** * 执行一条SQL语句返回是否成功 * @param string $sql SQL语句 * @return boolean */ public function execute($sql) { if (mysql_query($sql, $this->link)) { $this->queryNum++; $this->numRows = mysql_affected_rows($this->link); $this->debug($sql); return true; } else { $this->debug($sql, false, $this->getError()); $this->success = false; return false; } } /** * 得到结果集的第一个数据 * @param string $sql SQL语句 * @return mixed */ public function getOne($sql) { if (!$rs = $this->query($sql)) { return false; } $row = $this->fetch($rs); $this->free($rs); return is_array($row) ? array_shift($row) : $row; } /** * 返回结果集的一行 * @param string $sql SQL语句 * @return mixed */ public function getRow($sql) { if (!$rs = $this->query($sql)) { return false; } $row = $this->fetch($rs); $this->free($rs); return $row; } /** * 返回所有结果集 * @param string $sql SQL语句 * @param string $limit SQL语句的LIMIT限制 * @return mixed */ public function getAll($sql) { if (!$rs = $this->query($sql)) { return false; } $all_rows = array(); while ($rows = $this->fetch($rs)) { $all_rows[] = $rows; } $this->free($rs); return $all_rows; } /** * 取所有行的第一个字段信息 * @param string $sql SQL语句 * @return array * @access public */ public function getCol($sql) { $res = $this->query($sql); if ($res !== false) { $arr = array(); while ($row = mysql_fetch_row($res)) { $arr[] = $row[0]; } return $arr; } else { return false; } } /** * 执行INSERT命令.返回AUTO_INCREMENT * 返回0为没有插入成功 * @param string $sql SQL语句 * @return integer */ public function insert($sql) { $this->execute($sql); return mysql_insert_id($this->link); } public function insert_id() { return mysql_insert_id ( $this->link ); } /** * insert update For Mysql * @param <type> $table * @param <type> $field_values * @param <type> $mode * @param <type> $where * @return <type> */ public function autoExecute($table, $field_values, $mode = 'INSERT', $where = '') { $field_names = $this->getCol('DESC ' . $table); $sql = ''; if ($mode == 'INSERT') { $fields = $values = array(); foreach ($field_names AS $value) { if (array_key_exists($value, $field_values) == true) { $fields[] = '`' . $value . '`'; $values[] = "'" . $field_values[$value] . "'"; } } if (!empty($fields)) { $sql = 'INSERT INTO ' . $table . ' (' . implode(', ', $fields) . ') VALUES (' . implode(', ', $values) . ')'; } } else { $sets = array(); foreach ($field_names AS $value) { if (array_key_exists($value, $field_values) == true) { $sets[] = '`' . $value . "` = '" . $field_values[$value] . "'"; } } if (!empty($sets)) { $sql = 'UPDATE ' . $table . ' SET ' . implode(', ', $sets) . ' WHERE ' . $where; } } if ($sql) { return $this->query($sql); } else { return false; } } /** * 释放结果集 * @param resource $rs 结果集 * @return boolean */ public function free($rs) { return mysql_free_result ( $rs ); } public function fetch($rs) { return mysql_fetch_array($rs); } /** * 关闭数据库 * * @access public * @return boolean */ public function close() { return mysql_close ( $this->link ); } /** * 获取执行SQL语句的个数 * @access public * @return integer */ public function getQueryNum() { return $this->queryNum; } /** * 获取错误信息 * @return void * @access public */ public function getError() { echo mysql_errno ( $this->link ) . " : " . mysql_error ( $this->link ); } /** * 抛出一个异常信息 * @param string $message 异常信息 * @return void */ protected function throwException($message) { throw new Exception ( $message ); } /** * DEBUG信息 * * @param string $sql * @param bool $success * @param error string */ public function debug($sql, $success = true, $error = null) { global $TmacConfig; if ($TmacConfig['Common']['debug']) { $debug = Debug::getInstance(); $debug->setSQL($sql, $success, $error); } } }
试试其它关键字
数据库操作
同语言下
.
用net匹配并替换iOS标准的emoji表情符号
.
处理带Emoji表情的的字符串
.
获取微信昵称时 过滤特殊字符
.
通过判断上传文件的头字符来判断文件的类型
.
模拟百度URL加密解密算法
.
以太坊检查地址是否合法
.
实现crontab解析类
.
获取每个月的开始和结束时间
.
图片上传工具类
.
APP手机应用信息采集
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
quan1986
贡献的其它代码
(
2
)
.
鼠标禁止右键、复制粘贴
.
数据库操作类
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3