zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

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

mysqlPHP数据库 操作 discuz
2023-06-13 09:14:23 时间
复制代码代码如下:

<?php

/*--------------------------------
System:PTbook-PT小说小偷
Code:杰少Pakey
-----------------------------------*/

$pt_mysql=newdbQuery;

/**
*mysql查询类
*
*/

classdbQuery{
/**
*查询总次数
*
*@varint
*/
var$querynum=0;
/**
*连接句柄
*
*@varobject
*/
var$link;

/**
*构造函数
*
*@paramstring$dbhost主机名
*@paramstring$dbuser用户
*@paramstring$dbpw密码
*@paramstring$dbname数据库名
*@paramint$pconnect是否持续连接
*/
functionconnect($dbhost,$dbuser,$dbpw,$dbname="",$pconnect=0){
if($pconnect){
if(!$this->link=@mysql_pconnect($dbhost,$dbuser,$dbpw)){
$this->halt("CannotconnecttoMySQLserver");
}
}else{
if(!$this->link=@mysql_connect($dbhost,$dbuser,$dbpw)){
$this->halt("CannotconnecttoMySQLserver");
}
}
if($this->version()>"4.1"){
global$dbcharset;
if($dbcharset){
mysql_query("SETcharacter_set_connection=$dbcharset,character_set_results=$dbcharset,character_set_client=binary",$this->link);
mysql_query("setnames"GBK"");
}

if($this->version()>"5.0.1"){
mysql_query("SETsql_mode=""",$this->link);
mysql_query("setnames"GBK"");
}
}

if($dbname){
mysql_select_db($dbname,$this->link);
}

}
/**
*选择数据库
*
*@paramstring$dbname
*@return
*/
functionselect_db($dbname){
returnmysql_select_db($dbname,$this->link);
}
/**
*取出结果集中一条记录
*
*@paramobject$query
*@paramint$result_type
*@returnarray
*/
functionfetch_array($query,$result_type=MYSQL_ASSOC){
returnmysql_fetch_array($query,$result_type);
}

/**
*查询SQL
*
*@paramstring$sql
*@paramstring$type
*@returnobject
*/
functionquery($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("MySQLQueryError",$sql);
}

$this->querynum++;
return$query;
}
/**
*取影响条数
*
*@returnint
*/
functionaffected_rows(){
returnmysql_affected_rows($this->link);
}
/**
*返回错误信息
*
*@returnarray
*/
functionerror(){
return(($this->link)?mysql_error($this->link):mysql_error());
}
/**
*返回错误代码
*
*@returnint
*/
functionerrno(){
returnintval(($this->link)?mysql_errno($this->link):mysql_errno());
}
/**
*返回查询结果
*
*@paramobject$query
*@paramstring$row
*@returnmixed
*/
functionresult($query,$row){
$query=@mysql_result($query,$row);
return$query;
}
/**
*结果条数
*
*@paramobject$query
*@returnint
*/
functionnum_rows($query){
$query=mysql_num_rows($query);
return$query;
}
/**
*取字段总数
*
*@paramobject$query
*@returnint
*/
functionnum_fields($query){
returnmysql_num_fields($query);
}
/**
*释放结果集
*
*@paramobject$query
*@returnbool
*/
functionfree_result($query){
returnmysql_free_result($query);
}
/**
*返回自增ID
*
*@returnint
*/
functioninsert_id(){
return($id=mysql_insert_id($this->link))>=0?$id:$this->result($this->query("SELECTlast_insert_id()"),0);
}
/**
*从结果集中取得一行作为枚举数组
*
*@paramobject$query
*@returnarray
*/
functionfetch_row($query){
$query=mysql_fetch_row($query);
return$query;
}
/**
*从结果集中取得列信息并作为对象返回
*
*@paramobject$query
*@returnobject
*/
functionfetch_fields($query){
returnmysql_fetch_field($query);
}
/**
*返回mysql版本
*
*@returnstring
*/
functionversion(){
returnmysql_get_server_info($this->link);
}
/**
*关闭连接
*
*@returnbool
*/
functionclose(){
returnmysql_close($this->link);
}
/**
*输出错误信息
*
*@paramstring$message
*@paramstring$sql
*/
functionhalt($message="",$sql=""){
echo$message."".$sql;
exit;

}
}

?>