php下mysql数据库操作类(改自discuz)


Posted in PHP onJuly 03, 2010
<?php /* -------------------------------- 
System:PT book - PT小说小偷 
Code: 杰少Pakey 
----------------------------------- */ 
$pt_mysql = new dbQuery; 
/** 
* mysql查询类 
* 
*/ 
class dbQuery { 
/** 
* 查询总次数 
* 
* @var int 
*/ 
var $querynum = 0; 
/** 
* 连接句柄 
* 
* @var object 
*/ 
var $link; 
/** 
* 构造函数 
* 
* @param string $dbhost 主机名 
* @param string $dbuser 用户 
* @param string $dbpw 密码 
* @param string $dbname 数据库名 
* @param int $pconnect 是否持续连接 
*/ 
function connect($dbhost, $dbuser, $dbpw, $dbname = '', $pconnect = 0) { 
if($pconnect) { 
if(!$this->link = @mysql_pconnect($dbhost, $dbuser, $dbpw)) { 
$this->halt('Can not connect to MySQL server'); 
} 
} else { 
if(!$this->link = @mysql_connect($dbhost, $dbuser, $dbpw)) { 
$this->halt('Can not connect to MySQL server'); 
} 
} 
if($this->version() > '4.1') { 
global $dbcharset; 
if($dbcharset) { 
mysql_query("SET character_set_connection=$dbcharset, character_set_results=$dbcharset, character_set_client=binary", $this->link); 
mysql_query("set names 'GBK'"); 
} 
if($this->version() > '5.0.1') { 
mysql_query("SET sql_mode=''", $this->link); 
mysql_query("set names 'GBK'"); 
} 
} 
if($dbname) { 
mysql_select_db($dbname, $this->link); 
} 
} 
/** 
* 选择数据库 
* 
* @param string $dbname 
* @return 
*/ 
function select_db($dbname) { 
return mysql_select_db($dbname, $this->link); 
} 
/** 
* 取出结果集中一条记录 
* 
* @param object $query 
* @param int $result_type 
* @return array 
*/ 
function fetch_array($query, $result_type = MYSQL_ASSOC) { 
return mysql_fetch_array($query, $result_type); 
} 
/** 
* 查询SQL 
* 
* @param string $sql 
* @param string $type 
* @return object 
*/ 
function query($sql, $type = '') { 
$func = $type == 'UNBUFFERED' && @function_exists('mysql_unbuffered_query') ? 
'mysql_unbuffered_query' : 'mysql_query'; 
if(!($query = $func($sql, $this->link)) && $type != 'SILENT') { 
$this->halt('MySQL Query Error', $sql); 
} 
$this->querynum++; 
return $query; 
} 
/** 
* 取影响条数 
* 
* @return int 
*/ 
function affected_rows() { 
return mysql_affected_rows($this->link); 
} 
/** 
* 返回错误信息 
* 
* @return array 
*/ 
function error() { 
return (($this->link) ? mysql_error($this->link) : mysql_error()); 
} 
/** 
* 返回错误代码 
* 
* @return int 
*/ 
function errno() { 
return intval(($this->link) ? mysql_errno($this->link) : mysql_errno()); 
} 
/** 
* 返回查询结果 
* 
* @param object $query 
* @param string $row 
* @return mixed 
*/ 
function result($query, $row) { 
$query = @mysql_result($query, $row); 
return $query; 
} 
/** 
* 结果条数 
* 
* @param object $query 
* @return int 
*/ 
function num_rows($query) { 
$query = mysql_num_rows($query); 
return $query; 
} 
/** 
* 取字段总数 
* 
* @param object $query 
* @return int 
*/ 
function num_fields($query) { 
return mysql_num_fields($query); 
} 
/** 
* 释放结果集 
* 
* @param object $query 
* @return bool 
*/ 
function free_result($query) { 
return mysql_free_result($query); 
} 
/** 
* 返回自增ID 
* 
* @return int 
*/ 
function insert_id() { 
return ($id = mysql_insert_id($this->link)) >= 0 ? $id : $this->result($this->query("SELECT last_insert_id()"), 0); 
} 
/** 
* 从结果集中取得一行作为枚举数组 
* 
* @param object $query 
* @return array 
*/ 
function fetch_row($query) { 
$query = mysql_fetch_row($query); 
return $query; 
} 
/** 
* 从结果集中取得列信息并作为对象返回 
* 
* @param object $query 
* @return object 
*/ 
function fetch_fields($query) { 
return mysql_fetch_field($query); 
} 
/** 
* 返回mysql版本 
* 
* @return string 
*/ 
function version() { 
return mysql_get_server_info($this->link); 
} 
/** 
* 关闭连接 
* 
* @return bool 
*/ 
function close() { 
return mysql_close($this->link); 
} 
/** 
* 输出错误信息 
* 
* @param string $message 
* @param string $sql 
*/ 
function halt($message = '', $sql = '') { 
echo $message . ' ' . $sql; 
exit; 
} 
} 
?>
PHP 相关文章推荐
session 的生命周期是多长
Oct 09 PHP
php 网页游戏开发入门教程一(webgame+design)
Oct 26 PHP
php中获取指定IP的物理地址的代码(正则表达式)
Jun 23 PHP
PHP imagecreatefrombmp 从BMP文件或URL新建一图像
Jul 16 PHP
php中serialize序列化与json性能测试的示例分析
Apr 27 PHP
php ctype函数中文翻译和示例
Mar 21 PHP
PHP实现的MongoDB数据库操作类分享
May 12 PHP
PHP遍历数组的三种方法及效率对比分析
Feb 12 PHP
php常用字符串String函数实例总结【转换,替换,计算,截取,加密】
Dec 07 PHP
详解PHP数据压缩、加解密(pack, unpack)
Dec 17 PHP
Yaf框架封装的MySQL数据库操作示例
Mar 06 PHP
PHP工厂模式的日常使用
Mar 20 PHP
php下通过伪造http头破解防盗链的代码
Jul 03 #PHP
在VS2008中编译MYSQL5.1.48的方法
Jul 03 #PHP
php防盗链的常用方法小结
Jul 02 #PHP
破解图片防盗链的代码(asp/php)测试通过
Jul 02 #PHP
用PHP为SHOPEX增加日志功能代码
Jul 02 #PHP
php操作excel文件 基于phpexcel
Jul 02 #PHP
PHP 多维数组排序(usort,uasort)
Jun 30 #PHP
You might like
全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点
2011/01/06 PHP
PHP 过滤页面中的BOM(实现代码)
2013/06/29 PHP
WordPress中的shortcode短代码功能使用详解
2016/05/17 PHP
php+redis实现注册、删除、编辑、分页、登录、关注等功能示例
2017/02/15 PHP
PHP新特性详解之命名空间、性状与生成器
2017/07/18 PHP
javascript 函数调用规则
2009/08/26 Javascript
jQuery 获取对象 定位子对象
2010/05/31 Javascript
jquery form表单提交插件asp.net后台中文解码
2010/06/12 Javascript
JavaScript实现为input与textarea自定义hover,focus效果的方法
2015/08/21 Javascript
jquery实现滑屏大图定时收缩为小banner图片的广告代码
2015/09/02 Javascript
JS实现仿Windows7风格的网页右键菜单效果代码
2015/09/11 Javascript
如何解决IONIC页面底部被遮住无法向上滚动问题
2016/09/06 Javascript
angular.js之路由的选择方法
2016/09/24 Javascript
javascript加载xml 并解析各节点的值(实现方法)
2016/10/12 Javascript
JavaScript运动框架 解决防抖动问题、悬浮对联(二)
2017/05/17 Javascript
vue-cli3 配置开发与测试环境详解
2019/05/17 Javascript
JS控制GIF图片的停止与显示
2019/10/24 Javascript
jquery validate 实现动态增加/删除验证规则操作示例
2019/10/28 jQuery
js仿京东放大镜效果
2020/08/09 Javascript
JavaScript实现点击切换功能
2021/01/27 Javascript
[04:44]显微镜下的DOTA2第二期——你所没有注意到的细节
2014/06/20 DOTA
[48:29]2018DOTA2亚洲邀请赛3月30日 小组赛A组 LGD VS KG
2018/03/31 DOTA
深入理解python函数递归和生成器
2016/06/06 Python
基于Python中capitalize()与title()的区别详解
2017/12/09 Python
Python堆排序原理与实现方法详解
2018/05/11 Python
Python实现九宫格式的朋友圈功能内附“马云”朋友圈
2019/05/07 Python
提升python处理速度原理及方法实例
2019/12/25 Python
Django与pyecharts结合的实例代码
2020/05/13 Python
利用 CSS3 实现的无缝轮播功能代码
2017/09/25 HTML / CSS
《问银河》教学反思
2014/02/19 职场文书
2014庆六一活动方案
2014/03/02 职场文书
幼师求职信
2014/06/23 职场文书
廉政承诺书
2015/01/19 职场文书
工厂仓管员岗位职责
2015/04/01 职场文书
2015年度环卫处工作总结
2015/07/24 职场文书
详细分析PHP7与PHP5区别
2021/06/26 PHP