php下mysql数据库操作类(改自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;
}
}
?>
相关文章
- 数据库之选:从MySQL开始(数据库选型mysql)
- PHP编程实现MySQL数据库连接(通过php连接mysql)
- MySQL并发压力测试:揭示数据库最大可能性(mysql并发压力测试)
- 简单几步:Brew安装MySQL(brew安装mysql)
- 让MySQL数据库技术改变你的生活(数据库技术mysql)
- MySQL 用户权限管理:实现数据安全(mysql用户权限管理)
- MySQL数据库:轻松实现多表查询(mysql数据库多表查询)
- 更改阿里云MySQL密码更改:简单又安全(阿里云mysql密码)
- MySQL数据库的配置方法简介(mysql怎么配置)
- 解决MySQL修改密码无法成功的问题(mysql不能修改密码)
- MySQL数据库:获取连接URL的步骤(mysql数据库连接url)
- 学习C语言,连接MySQL数据库(c访问mysql数据库)
- MySQL掌握:如何修改属性(mysql修改属性)
- 语句MySQL中查看表创建语句的方法(mysql查看表创建)
- MySQL禁用防火墙:必要的步骤(mysql关闭防火墙)
- MySQL数据读取速度缓慢的原因及解决方法(mysql读取数据慢)
- 深入浅出MySQL性能排查之道(mysql性能排查)
- MySQL:关于日期函数的使用(日期函数mysql)
- MySQL:默认数据库名称深度分析(mysql默认数据库名)
- 手把手教你 MySQL 表数据清空的方法(mysql如何清空表)
- 利用监控工具管理Mysql数据库(监控mysql工具)
- Mysql执行SQL文件的快速解决方案(mysql执行sql文件)
- Mysql主键的作用与使用方法(mysql中主键的值)
- 使用C语言快速安装MySQL环境(c mysql安装教程)
- MySQL中如何处理关联表(mysql中关联表)
- MySQL JDBC驱动Java与MySQL数据库的桥梁(mysql_jdbc驱动)
- 深入剖析MySQL g,掌握数据库管理的技巧(mysql _g)
- MySQL数据库轻松下载安装包,快速搭建数据服务(mysql 下载安装包)
- 管理海量数据轻松无压力MySQL轻松应对上千万数据库(mysql 上千万数据库)