加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php下mysql数据库操作类(改自discuz)

发布时间:2020-05-24 21:28:02 所属栏目:PHP 来源:互联网
导读:这是php mysql的数据库操作类,取自discuz,经过修改后可以用于其它程序了,并且有足够的注释,大家可以借鉴研究下.

<div class="codetitle"><a style="CURSOR: pointer" data="28864" class="copybut" id="copybut28864" onclick="doCopy('code28864')"> 代码如下:<div class="codebody" id="code28864">
<?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,$dbpw)) {
$this->halt('Can not connect to MySQL server');
}
} else {
if(!$this->link = @mysql_connect($dbhost,$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; }
} ?>

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读