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函数)
Oct 09 PHP
基于mysql的论坛(4)
Oct 09 PHP
帖几个PHP的无限分类实现想法~
Jan 02 PHP
PHP使用数组实现队列
Feb 05 PHP
php jq jquery getJSON跨域提交数据完整版
Sep 13 PHP
ThinkPHP学习笔记(一)ThinkPHP部署
Jun 22 PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
Jul 04 PHP
php递归调用删除数组空值元素的方法
Apr 28 PHP
利用PHP脚本在Linux下用md5函数加密字符串的方法
Jun 29 PHP
PHP  实现等比压缩图片尺寸和大小实例代码
Oct 08 PHP
PHP解决中文乱码
Apr 28 PHP
yii框架结合charjs实现统计30天数据的方法
Apr 04 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
图解上海144收音机
2021/03/02 无线电
php 中的4种标记风格介绍
2012/05/10 PHP
php object转数组示例
2014/01/15 PHP
Eclipse的PHP插件PHPEclipse安装和使用
2014/07/20 PHP
jquery操作复选框(checkbox)的12个小技巧总结
2014/02/04 Javascript
javascript 获取函数形参个数
2014/07/31 Javascript
node.js中的console.dir方法使用说明
2014/12/10 Javascript
JS实现方向键切换输入框焦点的方法
2015/08/19 Javascript
javascript基本语法
2016/05/31 Javascript
JS实现简单的tab切换选项卡效果
2016/09/21 Javascript
利用Mongoose让JSON数据直接插入或更新到MongoDB
2017/05/03 Javascript
使用vue构建移动应用实战代码
2017/08/02 Javascript
Angular angular-file-upload文件上传的示例代码
2018/08/23 Javascript
使用异步组件优化Vue应用程序的性能
2019/04/28 Javascript
用python读写excel的方法
2014/11/18 Python
python通过pil模块将raw图片转换成png图片的方法
2015/03/16 Python
python实现汉诺塔方法汇总
2016/07/25 Python
Django用数据库表反向生成models类知识点详解
2020/03/25 Python
python和pywin32实现窗口查找、遍历和点击的示例代码
2020/04/01 Python
python的flask框架难学吗
2020/07/31 Python
CSS3使用transition属性实现过渡效果
2018/04/18 HTML / CSS
html5基础教程常用技巧整理
2013/08/20 HTML / CSS
美国职棒大联盟的官方手套、球和头盔:Rawlings
2020/02/15 全球购物
社会稳定风险评估方案
2014/06/02 职场文书
教师民族团结演讲稿
2014/08/27 职场文书
卖房授权委托书样本
2014/10/05 职场文书
2014光棍节大学生联谊活动方案
2014/10/10 职场文书
2014年药房工作总结
2014/11/22 职场文书
2015年见习期工作总结
2014/12/12 职场文书
钱塘江大潮导游词
2015/02/03 职场文书
中学生学习保证书
2015/02/26 职场文书
个性与发展自我评价
2015/03/06 职场文书
幼儿教师三分钟演讲稿
2019/06/21 职场文书
python tkinter模块的简单使用
2021/04/07 Python
Pytorch中使用ImageFolder读取数据集时忽略特定文件
2022/03/23 Python
【海涛dota解说】海涛小满开黑4v5被破两路翻盘潮汐第一视角解说
2022/04/01 DOTA