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 相关文章推荐
php checkdate、getdate等日期时间函数操作详解
Mar 11 PHP
php 数组的指针操作实现代码
Feb 08 PHP
PHP如何抛出异常处理错误
Mar 02 PHP
国外十大最流行的PHP框架排名
Jul 04 PHP
php使浏览器直接下载pdf文件的方法
Nov 15 PHP
ThinkPHP3.1新特性之字段合法性检测详解
Jun 19 PHP
php格式化时间戳显示友好的时间实现思路及代码
Oct 23 PHP
PHP检测字符串是否为UTF8编码的常用方法
Nov 21 PHP
PHP 实现页面静态化的几种方法
Jul 23 PHP
laravel 框架配置404等异常页面
Jan 07 PHP
php array 转json及java 转换 json数据格式操作示例
Nov 13 PHP
php封装的page分页类完整实例代码
Feb 01 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实现将科学计数法转换为原始数字字符串的方法
2014/12/16 PHP
php内存缓存实现方法
2015/01/24 PHP
jquery1.4 教程二 ajax方法的改进
2010/02/25 Javascript
js获取和设置属性的方法
2014/02/20 Javascript
JSON中双引号的轮回使用过程中一定要小心
2014/03/05 Javascript
javascript中in运算符用法分析
2015/04/28 Javascript
javascript实现检验的各种规则
2015/07/31 Javascript
flag和jq on 的绑定多个对象和方法(必看)
2017/02/27 Javascript
Bootstrap模态框案例解析
2017/03/05 Javascript
ionic 3.0+ 项目搭建运行环境的教程
2017/08/09 Javascript
AngularJS select设置默认值的实现方法
2017/08/25 Javascript
浅谈JavaScript中的属性:如何遍历属性
2017/09/14 Javascript
JavaScript正则表达式和级联效果
2017/09/14 Javascript
一个Vue页面的内存泄露分析详解
2018/06/25 Javascript
Vue头像处理方案小结
2018/07/26 Javascript
[01:58]2018DOTA2亚洲邀请赛趣味视频——交流
2018/04/03 DOTA
[01:02:38]DOTA2-DPC中国联赛定级赛 LBZS vs Phoenix BO3第二场 1月10日
2021/03/11 DOTA
python实现的登陆Discuz!论坛通用代码分享
2014/07/11 Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
2016/12/27 Python
Python中Numpy ndarray的使用详解
2019/05/24 Python
Python虚拟环境的原理及使用详解
2019/07/02 Python
Python函数的定义方式与函数参数问题实例分析
2019/12/26 Python
tensorflow 实现打印pb模型的所有节点
2020/01/23 Python
如何使用 Flask 做一个评论系统
2020/11/27 Python
如何通过Python实现RabbitMQ延迟队列
2020/11/28 Python
python安装mysql的依赖包mysql-python操作
2021/01/01 Python
日本最大的眼镜购物网站:Oh My Glasses
2016/11/13 全球购物
TCP协议通讯的过程和步骤是什么
2015/10/18 面试题
资金主管岗位职责范本
2014/03/04 职场文书
大家访活动实施方案
2014/03/10 职场文书
爱国演讲稿500字
2014/05/04 职场文书
机械专业求职信
2014/05/25 职场文书
公司年会晚会开幕词
2019/04/02 职场文书
python3实现无权最短路径的方法
2021/05/12 Python
python opencv旋转图片的使用方法
2021/06/04 Python
Python+Tkinter打造签名设计工具
2022/04/01 Python