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 相关文章推荐
一个显示天气预报的程序
Oct 09 PHP
PHP安装攻略:常见问题解答(三)
Oct 09 PHP
php字符串截取中文截取2,单字节截取模式
Dec 10 PHP
用php实现让页面只能被百度gogole蜘蛛访问的方法
Dec 29 PHP
晋城吧对DiscuzX进行的前端优化要点
Sep 05 PHP
PHP数组操作汇总 php数组的使用技巧
Jul 17 PHP
php 如何获取数组第一个值
Aug 06 PHP
PHP中几个可以提高运行效率的代码写法、技巧分享
Aug 21 PHP
php中current、next与reset函数用法实例
Nov 17 PHP
PHP缓存集成库phpFastCache用法
Dec 15 PHP
php简单随机字符串生成方法示例
Apr 19 PHP
PHP使用QR Code生成二维码实例
Jul 07 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/06/09 PHP
php计算年龄精准到年月日
2015/11/17 PHP
Linux平台php命令行程序处理管道数据的方法
2016/11/10 PHP
jquery下实现overlay遮罩层代码
2010/08/25 Javascript
jQuery制作拼图小游戏
2015/01/12 Javascript
javascript 动态创建表格的2种方法总结
2015/03/04 Javascript
Jquery代码实现图片轮播效果(一)
2015/08/12 Javascript
js实现input框文字动态变换显示效果
2015/08/19 Javascript
js实现动态加载脚本的方法实例汇总
2015/11/02 Javascript
JavaScript蒙板(model)功能的简单实现代码
2016/08/04 Javascript
AngularJS入门教程之与服务器(Ajax)交互操作示例【附完整demo源码下载】
2016/11/02 Javascript
微信小程序 Tab页切换更新数据
2017/01/05 Javascript
Bootstrap导航中表单简单实现代码
2017/03/06 Javascript
在js中做数字字符串补0(js补零)
2017/03/25 Javascript
js 获取今天以及过去日期
2017/04/11 Javascript
DataTables添加额外的查询参数和删除columns等无用参数实例
2017/07/04 Javascript
Three.js利用orbit controls插件(轨道控制)控制模型交互动作详解
2017/09/25 Javascript
Vue脚手架的简单使用实例
2018/07/10 Javascript
Vue组件间通信方法总结(父子组件、兄弟组件及祖先后代组件间)
2019/04/17 Javascript
JavaScript创建、读取和删除cookie
2019/09/03 Javascript
Vue中jsx不完全应用指南小结
2019/11/01 Javascript
vue中组件通信详解(父子组件, 爷孙组件, 兄弟组件)
2020/07/27 Javascript
[02:59]DOTA2完美大师赛主赛事第三日精彩集锦
2017/11/25 DOTA
使用python读取csv文件快速插入数据库的实例
2018/06/21 Python
Python装饰器原理与基本用法分析
2020/01/07 Python
python 中不同包 类 方法 之间的调用详解
2020/03/09 Python
Python库skimage绘制二值图像代码实例
2020/04/10 Python
prAna官网:瑜伽、旅行和冒险服装
2019/03/10 全球购物
应届生妇产科护士求职信
2013/10/27 职场文书
应届毕业生求职信范例分享
2013/12/17 职场文书
物业管理毕业生的自我评价
2014/02/17 职场文书
房产委托公证书
2014/04/08 职场文书
乡镇镇长个人整改措施
2014/10/01 职场文书
2015年乡镇纪检工作总结
2015/04/22 职场文书
大学升旗仪式主持词
2015/07/04 职场文书
VUE中的v-if与v-show区别介绍
2022/03/13 Vue.js