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
网站当前的在线人数
Oct 09 PHP
图书管理程序(二)
Oct 09 PHP
Ajax PHP简单入门教程代码
Apr 25 PHP
php str_pad 函数用法简介
Jul 11 PHP
PHP图片处理类 phpThumb参数用法介绍
Mar 11 PHP
PHP简单获取视频预览图的方法
Mar 12 PHP
php使用wordwrap格式化文本段落的方法
Mar 17 PHP
php找出指定范围内回文数且平方根也是回文数的方法
Mar 23 PHP
php实现通用的信用卡验证类
Mar 24 PHP
yii插入数据库防并发的简单代码
May 27 PHP
thinkPHP框架动态配置用法实例分析
Jun 14 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字符串分割函数explode的实例代码
2013/02/07 PHP
PHP header()函数常用方法总结
2014/04/11 PHP
使用PHPCMS搭建wap手机网站
2015/09/20 PHP
简单概括PHP的字符串中单引号与双引号的区别
2016/05/07 PHP
PHP和MYSQL实现分页导航思路详解
2017/04/11 PHP
PHP实现模拟http请求的方法分析
2017/12/20 PHP
PHP+redis实现的购物车单例类示例
2019/02/02 PHP
浅析PHP中json_encode与json_decode的区别
2020/07/15 PHP
一个级联菜单代码学习及removeClass与addClass的应用
2013/01/24 Javascript
javascript中直接写php代码的方法
2013/07/31 Javascript
jquery append()方法与html()方法的区别及使用介绍
2014/08/01 Javascript
jquery中ready()函数执行的时机和window的load事件比较
2015/06/22 Javascript
移动端 一个简单易懂的弹出框
2016/07/06 Javascript
js实现手机拍照上传功能
2017/01/17 Javascript
vue-cli+webpack在生成的项目中使用bootstrap实例代码
2017/05/26 Javascript
vuejs 单文件组件.vue 文件的使用
2017/07/28 Javascript
VUEJS 2.0 子组件访问/调用父组件的实例
2018/02/10 Javascript
jQuery实现高级检索功能
2019/05/28 jQuery
JavaScript中0、空字符串、'0'是true还是false的知识点分享
2019/09/16 Javascript
浅谈Vue.js之初始化el以及数据的绑定说明
2019/11/14 Javascript
[01:46]DOTA2上海特锦赛小组赛英文解说KotlGuy采访
2016/02/27 DOTA
[28:07]完美世界DOTA2联赛PWL S3 Phoenix vs INK ICE 第二场 12.13
2020/12/17 DOTA
Python实现短网址ShortUrl的Hash运算实例讲解
2015/08/10 Python
Python字符编码转码之GBK,UTF8互转
2020/02/09 Python
TensorFlow 输出checkpoint 中的变量名与变量值方式
2020/02/11 Python
英国知名衬衫品牌美国网站:Charles Tyrwhitt美国
2016/08/28 全球购物
美国名表在线商城:Ashford(支持中文)
2019/09/24 全球购物
美国户外烹饪产品购物网站:Outdoor Cooking
2020/01/10 全球购物
PHP如何防止SQL注入
2014/05/03 面试题
银行求职信范文
2014/05/26 职场文书
学校安全工作汇报材料
2014/08/16 职场文书
2014年行风建设工作总结
2014/12/01 职场文书
教师师德工作总结2015
2015/07/22 职场文书
pytorch锁死在dataloader(训练时卡死)
2021/05/28 Python
室外天线与收音机天线杆接合方法
2022/04/05 无线电
Python基本知识点总结
2022/04/07 Python