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抽奖小程序的实现代码
Jun 18 PHP
php下获取http状态的实现代码
May 09 PHP
php实现使用正则将文本中的网址转换成链接标签
Dec 03 PHP
php+Mysqli利用事务处理转账问题实例
Feb 11 PHP
PHP 魔术变量和魔术函数详解
Feb 25 PHP
[原创]php实现子字符串位置相互对调互换的方法
Jun 02 PHP
Thinkphp和Bootstrap结合打造个性的分页样式(推荐)
Aug 01 PHP
PHP+jquery+CSS制作头像登录窗(仿QQ登陆)
Oct 20 PHP
PHP抓取远程图片(含不带后缀的)教程详解
Oct 21 PHP
CentOS系统中PHP安装扩展的方式汇总
Apr 09 PHP
TP5框架页面跳转样式操作示例
Apr 05 PHP
PHP实现随机发放扑克牌
Apr 21 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将数据导入到Foxmail
2006/10/09 PHP
模拟OICQ的实现思路和核心程序(三)
2006/10/09 PHP
如何在PHP中使用Oracle数据库(5)
2006/10/09 PHP
PHP常用特殊运算符号和函数总结(php新手入门必看)
2013/02/02 PHP
Yii框架的布局文件实例分析
2019/09/04 PHP
页面实时更新时间的JS实例代码
2013/12/18 Javascript
仿百度联盟对联广告实现代码
2014/08/30 Javascript
javascript操作数组详解
2014/12/17 Javascript
jQuery Ajax调用WCF服务详细教程
2015/03/31 Javascript
easyui validatebox验证
2016/04/29 Javascript
js剪切板应用clipboardData实例解析
2016/05/29 Javascript
jQuery dataTables与jQuery UI 对话框dialog的使用教程
2016/09/02 Javascript
基于javascript实现按圆形排列DIV元素(二)
2016/12/02 Javascript
详解VUE单页应用骨架屏方案
2019/01/17 Javascript
javascript实现异形滚动轮播
2019/11/28 Javascript
[03:03]DOTA2校园争霸赛 济南城市决赛欢乐发奖活动
2013/10/21 DOTA
Linux下使用python调用top命令获得CPU利用率
2015/03/10 Python
python中反射用法实例
2015/03/27 Python
python中(str,list,tuple)基础知识汇总
2018/02/20 Python
python读取文本中数据并转化为DataFrame的实例
2018/04/10 Python
Numpy中的mask的使用
2018/07/21 Python
Pyinstaller打包.py生成.exe的方法和报错总结
2019/04/02 Python
Python+opencv 实现图片文字的分割的方法示例
2019/07/04 Python
详解Django-channels 实现WebSocket实例
2019/08/22 Python
Python爬虫之Selenium鼠标事件的实现
2020/12/04 Python
解决TensorFlow训练模型及保存数量限制的问题
2021/03/03 Python
CSS3制作炫酷的自定义发光文字
2016/03/28 HTML / CSS
HTML5 绘制图像(上)之:关于canvas元素引领下一代web页面的问题
2013/04/24 HTML / CSS
链表面试题-一个链表的结点结构
2015/05/04 面试题
初三新学期计划书
2014/05/03 职场文书
公安局负责人查摆问题及整改方案
2014/09/27 职场文书
四风个人对照检查材料思想汇报(办公室通用版)
2014/10/07 职场文书
2015小学毕业班工作总结
2015/07/21 职场文书
JavaScript实现队列结构过程
2021/12/06 Javascript
HTML5基础学习之文本标签控制
2022/03/25 HTML / CSS
生命的关键成分来自太空?陨石说是的
2022/04/29 数码科技