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
AJAX for PHP简单表数据查询实例
Jan 02 PHP
PHP 压缩文件夹的类代码
Nov 05 PHP
javascript,php获取函数参数对象的代码
Feb 03 PHP
PHP时间戳与日期之间转换的实例介绍
Apr 19 PHP
php打开远程文件的方法和风险及解决方法
Nov 12 PHP
织梦sitemap地图实时推送给百度的教程
Aug 03 PHP
Zend Framework+smarty用法实例详解
Mar 19 PHP
CI框架扩展系统核心类的方法分析
May 23 PHP
Laravel 中使用 Vue.js 实现基于 Ajax 的表单提交错误验证操作
Jun 30 PHP
PHP实现模拟http请求的方法分析
Dec 20 PHP
PHP有序表查找之插值查找算法示例
Feb 10 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
东芝TOSHIBA RP-F11电路分析
2021/03/02 无线电
Google Voice 短信发送接口PHP开源版(2010.5更新)
2010/07/22 PHP
PHP json_encode() 函数详解及中文乱码问题
2015/11/05 PHP
教你在header中隐藏php的版本信息
2016/08/10 PHP
PHP 接入微信扫码支付总结(总结篇)
2016/11/03 PHP
PHP registerXPathNamespace()函数讲解
2019/02/03 PHP
PHP实现的权重算法示例【可用于游戏根据权限来随机物品】
2019/02/15 PHP
jBox 2.3基于jquery的最新多功能对话框插件 常见使用问题解答
2011/11/10 Javascript
关于全局变量和局部变量的那些事
2013/01/11 Javascript
JavaScript中统计Textarea字数并提示还能输入的字符
2014/06/10 Javascript
jQuery源码解读之removeAttr()方法分析
2015/02/20 Javascript
JS实现浏览器状态栏显示时间的方法
2015/10/27 Javascript
Javascript原型链的原理详解
2016/01/05 Javascript
jQuery原理系列-css选择器的简单实现
2016/06/07 Javascript
轻松理解JavaScript闭包
2017/03/14 Javascript
基于Vue2的独立构建与运行时构建的差别(详解)
2017/12/06 Javascript
JavaScript比较同一天的时间大小实例代码
2018/02/09 Javascript
vue组件命名和props命名代码详解
2019/09/01 Javascript
swiper Scrollbar滚动条组件详解
2019/09/08 Javascript
jQuery实现轮播图源码
2019/10/23 jQuery
Python实现检测服务器是否可以ping通的2种方法
2015/01/01 Python
python处理二进制数据的方法
2015/06/03 Python
python多进程实现进程间通信实例
2017/11/24 Python
解决python删除文件的权限错误问题
2018/04/24 Python
在Pandas中给多层索引降级的方法
2018/11/16 Python
TensorFLow 不同大小图片的TFrecords存取实例
2020/01/20 Python
pycharm 实现本地写代码,服务器运行的操作
2020/06/08 Python
Python lxml库的简单介绍及基本使用讲解
2020/12/22 Python
美国床垫和床上用品公司:Nest Bedding
2017/06/12 全球购物
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?
2016/08/18 面试题
SOA面试题:如何在SOA中实现松耦合
2013/07/21 面试题
《灯光》教学反思
2014/02/08 职场文书
总经理助理的职责
2014/03/14 职场文书
护理专业自荐书
2014/06/04 职场文书
执法作风整顿剖析材料
2014/10/11 职场文书
《最终幻想14》6.01版本4月5日推出 追加新任务新道具
2022/04/03 其他游戏