<?php <BR>/* <BR>MYSQL 数据库访问封装类 <BR>MYSQL 数据访问方式,php4支持以mysql_开头的过程访问方式,php5开始支持以mysqli_开头的过程和mysqli面向对象 <BR>访问方式,本封装类以mysql_封装 <BR>数据访问的一般流程: <BR>1,连接数据库 mysql_connect or mysql_pconnect <BR>2,选择数据库 mysql_select_db <BR>3,执行SQL查询 mysql_query <BR>4,处理返回的数据 mysql_fetch_array mysql_num_rows mysql_fetch_assoc mysql_fetch_row etc <BR>*/ <BR>class db_mysql <BR>{ <BR>var $querynum = 0 ; //当前页面进程查询数据库的次数 <BR>var $dblink ; //数据库连接资源 <BR>//链接数据库 <BR>function co<strong style="color:transparent">本文来源gao@daima#com搞(%代@#码@网&</strong><strong>搞gaodaima代码</strong>nnect($dbhost,$dbuser,$dbpw,$dbname='',$dbcharset='utf-8',$pconnect=0 , $halt=true) <BR>{ <BR>$func = empty($pconnect) ? 'mysql_connect' : 'mysql_pconnect' ; <BR>$this->dblink = @$func($dbhost,$dbuser,$dbpw) ; <BR>if ($halt && !$this->dblink) <BR>{ <BR>$this->halt("无法链接数据库!"); <BR>} <BR>//设置查询字符集 <BR>mysql_query("SET character_set_connection={$dbcharset},character_set_results={$dbcharset},character_set_client=binary",$this->dblink) ; <BR>//选择数据库 <BR>$dbname && @mysql_select_db($dbname,$this->dblink) ; <BR>} <BR>//选择数据库 <BR>function select_db($dbname) <BR>{ <BR>return mysql_select_db($dbname,$this->dblink); <BR>} <BR>//执行SQL查询 <BR>function query($sql) <BR>{ <BR>$this->querynum++ ; <BR>return mysql_query($sql,$this->dblink) ; <BR>} <BR>//返回最近一次与连接句柄关联的INSERT,UPDATE 或DELETE 查询所影响的记录行数 <BR>function affected_rows() <BR>{ <BR>return mysql_affected_rows($this->dblink) ; <BR>} <BR>//取得结果集中行的数目,只对select查询的结果集有效 <BR>function num_rows($result) <BR>{ <BR>return mysql_num_rows($result) ; <BR>} <BR>//获得单格的查询结果 <BR>function result($result,$row=0) <BR>{ <BR>return mysql_result($result,$row) ; <BR>} <BR>//取得上一步 INSERT 操作产生的 ID,只对表有AUTO_INCREMENT ID的操作有效 <BR>function insert_id() <BR>{ <BR>return ($id = mysql_insert_id($this->dblink)) >= 0 ? $id : $this->result($this->query("SELECT last_insert_id()"), 0); <BR>} <BR>//从结果集提取当前行,以数字为key表示的关联数组形式返回 <BR>function fetch_row($result) <BR>{ <BR>return mysql_fetch_row($result) ; <BR>} <BR>//从结果集提取当前行,以字段名为key表示的关联数组形式返回 <BR>function fetch_assoc($result) <BR>{ <BR>return mysql_fetch_assoc($result); <BR>} <BR>//从结果集提取当前行,以字段名和数字为key表示的关联数组形式返回 <BR>function fetch_array($result) <BR>{ <BR>return mysql_fetch_array($result); <BR>} <BR>//关闭链接 <BR>function close() <BR>{ <BR>return mysql_close($this->dblink) ; <BR>} <BR>//输出简单的错误html提示信息并终止程序 <BR>function halt($msg) <BR>{ <BR>$message = "\n\n" ; <BR>$message .= "<meta content='text/html;charset=gb2312'>\n" ; <BR>$message .= "\n" ; <BR>$message .= "<body>\n" ; <BR>$message .= "数据库出错:".htmlspecialchars($msg)."\n" ; <BR>$message .= "\n" ; <BR>$message .= "" ; <BR>echo $message ; <BR>exit ; <BR>} <BR>} <BR>?> <BR>