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 GeoIP的使用教程
Mar 09 PHP
深入理解PHP原理之Session Gc的一个小概率Notice
Apr 12 PHP
php5.3中连接sqlserver2000的两种方法(com与ODBC)
Dec 29 PHP
php curl获取网页内容(IPV6下超时)的解决办法
Jul 16 PHP
php实现图片缩放功能类
Dec 18 PHP
淘宝ip地址查询类分享(利用淘宝ip库)
Jan 07 PHP
PHP连接sql server 2005环境配置及问题解决
Aug 08 PHP
在WordPress中实现评论头像的自定义默认和延迟加载
Nov 24 PHP
PHP魔术方法使用方法汇总
Feb 14 PHP
PHP使用第三方即时获取物流动态实例详解
Apr 27 PHP
PHP中使用mpdf 导出PDF文件的实现方法
Oct 22 PHP
php字符串截取函数mb_substr用法实例分析
Jun 25 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
香妃
2021/03/03 冲泡冲煮
php查看session内容的函数
2008/08/27 PHP
PHP 网页过期时间的控制代码
2009/06/29 PHP
基于php验证码函数的使用示例
2013/05/03 PHP
CodeIgniter配置之autoload.php自动加载用法分析
2016/01/20 PHP
如何用javascript判断录入的日期是否合法
2007/01/08 Javascript
window.ActiveXObject使用说明
2010/11/08 Javascript
javascript进行四舍五入方法汇总
2014/12/16 Javascript
jquery实现对联广告的方法
2015/02/05 Javascript
深入分析Cookie的安全性问题
2015/03/01 Javascript
js获取页面description的方法
2015/05/21 Javascript
JavaScript两个变量交换值的实现方法
2017/03/01 Javascript
关于axios返回空对象的问题解决
2017/04/04 Javascript
jquery实现图片放大点击切换
2017/06/06 jQuery
NodeJs通过async/await处理异步的方法
2017/10/09 NodeJs
node.js操作MongoDB的实例详解
2017/10/11 Javascript
Vuejs在v-for中,利用index来对第一项添加class的方法
2018/03/03 Javascript
Postman模拟发送带token的请求方法
2018/03/31 Javascript
支付宝小程序自定义弹窗dialog插件的实现代码
2018/11/30 Javascript
JQuery Ajax执行跨域请求数据的解决方案
2018/12/10 jQuery
react组件基本用法示例小结
2020/04/27 Javascript
编写简单的Python程序来判断文本的语种
2015/04/07 Python
python 识别图片中的文字信息方法
2018/05/10 Python
Tensorflow 实现修改张量特定元素的值方法
2018/07/30 Python
python实现本地图片转存并重命名的示例代码
2018/10/27 Python
python属于哪种语言
2020/08/16 Python
Python爬虫UA伪装爬取的实例讲解
2021/02/19 Python
Clarins娇韵诗英国官网:来自法国的天然护肤品牌
2017/04/18 全球购物
goodhealth官方海外旗舰店:新西兰国民营养师
2017/12/15 全球购物
领导视察欢迎词
2014/01/15 职场文书
社区科普工作方案
2014/06/03 职场文书
网吧员工管理制度
2015/08/05 职场文书
小学英语教学反思范文
2016/02/15 职场文书
导游词之太原天龙山
2020/01/02 职场文书
MySQL Innodb索引机制详细介绍
2021/11/23 MySQL
Java 数组的使用
2022/05/11 Java/Android