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 相关文章推荐
ip签名探针
Oct 09 PHP
关于php连接mssql:pdo odbc sql server
Jul 20 PHP
php压缩HTML函数轻松实现压缩html/js/Css及注意事项
Jan 27 PHP
深入理解ob_flush和flush的区别(ob_flush()与flush()使用方法)
Feb 06 PHP
php购物车实现方法
Jan 03 PHP
浅谈PHP中JSON数据操作
Jul 01 PHP
PHP 搜索查询功能实现
Nov 29 PHP
php实现统计二进制中1的个数算法示例
Jan 23 PHP
PHP实现浏览器中直接输出图片的方法示例
Mar 14 PHP
PHP自定义错误处理的方法分析
Dec 19 PHP
总结PHP中初始化空数组的最佳方法
Feb 13 PHP
php中yar框架实例用法讲解
Dec 27 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
一个用php实现的获取URL信息的类
2007/01/02 PHP
PHP管理内存函数 memory_get_usage()使用介绍
2012/09/23 PHP
分享十款最出色的PHP安全开发库中文详细介绍
2015/03/22 PHP
PHP 7.0.2 正式版发布
2016/01/08 PHP
Yii框架中jquery表单验证插件用法示例
2016/10/18 PHP
PHP用户验证和标签推荐的简单使用
2016/10/31 PHP
laravel实现按时间日期进行分组统计方法示例
2019/03/23 PHP
我遇到的参数传递中 双引号单引号嵌套问题
2010/02/11 Javascript
jquery multiSelect 多选下拉框
2010/07/09 Javascript
js下用eval生成JSON对象
2010/09/17 Javascript
非常有用的40款jQuery 插件推荐(系列二)
2011/12/25 Javascript
解决火狐浏览器下JS setTimeout函数不兼容失效不执行的方法
2012/11/14 Javascript
node.js中的buffer.length方法使用说明
2014/12/14 Javascript
js实现漂浮回顶部按钮实例
2015/05/06 Javascript
jquery+正则实现统一的表单验证
2015/09/20 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形网络(1)
2015/11/30 Javascript
再谈Javascript中的基本类型和引用类型(推荐)
2016/07/01 Javascript
Angular中的interceptors拦截器
2017/06/25 Javascript
Vue动态组件与异步组件实例详解
2019/02/23 Javascript
JS合并两个数组的3种方法详解
2019/10/24 Javascript
15分钟上手vue3.0(小结)
2020/05/20 Javascript
[02:03]《现实生活中的DOTA2》—林书豪&DOTA2职业选手出演短片
2015/08/18 DOTA
python字典DICT类型合并详解
2017/08/17 Python
Python常见字典内建函数用法示例
2018/05/14 Python
python交换两个变量的值方法
2019/01/12 Python
python 如何使用find和find_all爬虫、找文本的实现
2020/10/16 Python
Moss Bros官网:英国排名第一的西装店
2020/02/26 全球购物
颇特女士:NET-A-PORTER(直邮中国)
2020/07/11 全球购物
一些Solaris面试题
2013/03/22 面试题
采购部主管岗位职责
2014/01/01 职场文书
读书伴我成长演讲稿
2014/05/07 职场文书
教师批评与自我批评(群众路线)
2014/10/15 职场文书
2015年汽车销售员工作总结
2015/07/24 职场文书
关爱留守儿童主题班会
2015/08/13 职场文书
Python可变与不可变数据和深拷贝与浅拷贝
2022/04/06 Python
分享Python异步爬取知乎热榜
2022/04/12 Python