2022-10-27 368
MySQL查询类对于很多刚刚接触MySQL数据库的新人来说可能还比较陌生,下面就为您介绍改造自discuz的MySQL查询类,希望可以让您对MySQL查询类有更多的了解。
<?php /** *mysql查询类 * */ classdbQuery{ /** *查询总次数 * *@varint */ var$querynum=0; /** *连接句柄 * *@varobject */ var$link; /** *构造函数 * *@paramstring$dbhost主机名 *@paramstring$dbuser用户 *@paramstring$dbpw密码 *@paramstring$dbname数据库名 *@paramint$pconnect是否持续连接 */ functiondbQuery($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); } if($this->version()>'5.0.1'){ mysql_query("SETsql_mode=''",$this->link); } } 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; } } ?>
原文链接:https://77isp.com/post/4426.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态