最好所有函数功能都保留一致,我自己改了一下很多警告,一直不成功,谢谢了
<?php
error_reporting(7);class DB_MySQL  {      var $servername="localhost";
      var $dbname="phpArticle";
      var $dbusername="root";
      var $dbpassword="";      var $id = 0;
      var $link_id = 0;
      var $query_id = 0;      var $querycount = 0;
      var $result;
      var $record = array();
      var $rows;
      var $affected_rows = 0;
      var $insertid;      var $errno;
      var $error;      var $querylog = array();      function geterrdesc() {
               $this->error = @mysql_error($this->link_id);
               return $this->error;
      }      function geterrno() {
               $this->errno = @mysql_errno($this->link_id);
               return $this->errno;
      }      function connect(){
               global $usepconnect;
               if ($usepconnect==1){
                   if (!$this->link_id = @mysql_pconnect($this->servername,$this->dbusername,$this->dbpassword)){
                        $this->halt("数据库链接失败");
                   }
               } else {
                   if (!$this->link_id = @mysql_connect($this->servername,$this->dbusername,$this->dbpassword)){
                        $this->halt("数据库链接失败");
                   }
               }
   mysql_query("SET NAMES 'GB2312'",$this->link_id); 
               return $this->link_id;
      }      function selectdb(){
               if(!mysql_select_db($this->dbname)){
                   $this->halt("数据库链接失败");
               }
      }      function query($query_string) {
               global $querytime,$showqueries,$debug,$exp;
               if ($showqueries==1) {                   global $script_start_time;
                   $pageendtime=microtime();
                   $starttime=explode(" ",$script_start_time);
                   $endtime=explode(" ",$pageendtime);                   $beforetime=$endtime[0]-$starttime[0]+$endtime[1]-$starttime[1];
               }               $this->result = mysql_query($query_string,$this->link_id);               if (!$this->result) {
                   $this->halt("SQL 无效: ".$query_string);
               }
               $this->querycount++;               if ($showqueries==1) {
                   $pageendtime = microtime();
                   $starttime = explode(" ",$script_start_time);
                   $endtime = explode(" ",$pageendtime);
                   $aftertime = $endtime[0]-$starttime[0]+$endtime[1]-$starttime[1];
                   $querytime += $aftertime-$beforetime;
               }               if ($debug==1) {
                   if ($showqueries==1) {
                       echo "<pre><font face=\"verdana, arial, helvetica ,宋体\" style=\"font-size=7pt\">Query: $query_string</font></pre>";
                       echo "<font face=\"verdana, arial, helvetica ,宋体\" style=\"font-size=7pt\">
                              Before time: $beforetime |
                              After time: $aftertime |
                              Query time: ".($aftertime-$beforetime)."
                              Queries: ".$this->querycount."
                             </font><hr size=1>";
                   }
                   if ($exp==1) {
                       if(substr(trim(strtoupper($query_string)), 0, 6) == 'SELECT'){
                          $explain = mysql_query("EXPLAIN $query_string", $this->link_id);
                          echo "<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"3\" bgcolor=\"#666666\">
                                 <tr bgcolor=\"#EEEEEE\">
                                   <td><font face=\"verdana, arial, helvetica ,宋体\" style=\"font-size=7pt\">table</font></td>
                                   <td><font face=\"verdana, arial, helvetica ,宋体\" style=\"font-size=7pt\">type</font></td>
                                   <td><font face=\"verdana, arial, helvetica ,宋体\" style=\"font-size=7pt\">possible_keys</font></td>
                                   <td><font face=\"verdana, arial, helvetica ,宋体\" style=\"font-size=7pt\">key</font></td>
                                   <td><font face=\"verdana, arial, helvetica ,宋体\" style=\"font-size=7pt\">key_len</font></td>
                                   <td><font face=\"verdana, arial, helvetica ,宋体\" style=\"font-size=7pt\">ref</font></td>
                                   <td><font face=\"verdana, arial, helvetica ,宋体\" style=\"font-size=7pt\">rows</font></td>
                                   <td><font face=\"verdana, arial, helvetica ,宋体\" style=\"font-size=7pt\">Extra</font></td>
                                 </tr>\n";
                          while ($data = mysql_fetch_array($explain)){
                                 echo "<tr bgcolor=\"#FFFFFF\">\n";                                 for($i=0;$i<8;$i++) {
                                     echo "<td><font face=\"verdana, arial, helvetica ,宋体\" style=\"font-size=7pt\">$data[$i]</font></td>\n";
                                 }
                                 echo "</tr>\n";
                          }
                          echo "</table>";
                       }
                   }
               }               return $this->result;
      }
      function fetch_array($queryid) {               $this->record = mysql_fetch_array($queryid);
               if (empty($queryid)){
                   $this->halt("Query id 无效:".$queryid);
               }
               return $this->record;
      }      function fetch_row($queryid) {               $this->record = mysql_fetch_row($queryid);
               if (empty($queryid)){
                    $this->halt("queryid 无效:".$queryid);
               }
               return $this->record;
      }      function fetch_one_array($query) {               $this->result =  $this->query($query);
               $this->record = $this->fetch_array($this->result);
               if (empty($query)){
                   $this->halt("Query id 无效:".$query);
               }
               $this->free_result($this->result);
               return $this->record;
      }      function num_rows($queryid) {               $this->rows = mysql_num_rows($queryid);               if (empty($queryid)){
                   $this->halt("Query id 无效:".$queryid);
               }
               return $this->rows;
      }      function affected_rows() {
               $this->affected_rows = mysql_affected_rows($this->link_id);
               return $this->affected_rows;
      }      function free_result($query){
               if (!mysql_free_result($query)){
                    $this->halt("fail to mysql_free_result");
               }
      }      function insert_id(){
               $this->insertid = mysql_insert_id();
               if (!$this->insertid){
                    $this->halt("fail to get mysql_insert_id");
               }
               return $this->insertid;
      }      function close() {
               @mysql_close($this->link_id);
      }      function halt($msg){               global $technicalemail,$debug;               $message = "<html>\n<head>\n";
               $message .= "<meta content=\"text/html; charset=gb2312\" http-equiv=\"Content-Type\">\n";
               $message .= "<STYLE TYPE=\"text/css\">\n";
               $message .=  "<!--\n";
               $message .=  "body,td,p,pre {\n";
               $message .=  "font-family : Verdana, Arial, Helvetica, sans-serif;font-size : 12px;\n";
               $message .=  "}\n";
               $message .=  "</STYLE>\n";
               $message .= "</head>\n";
               $message .= "<body bgcolor=\"#EEEEEE\" text=\"#000000\" link=\"#006699\" vlink=\"#5493B4\">\n";
               $message .= "<font size=10><b>数据库出错</b></font>\n<hr NOSHADE SIZE=1>\n";
                   $content = "<p>数据库出错:</p><pre><b>".htmlspecialchars($msg)."</b></pre>\n";
                   $content .= "<b>Mysql error description</b>: ".$this->geterrdesc()."\n<br>";
                   $content .= "<b>Mysql error number</b>: ".$this->geterrno()."\n<br>";
                   $content .= "<b>Date</b>: ".date("Y-m-d @ H:i")."\n<br>";
                   $content .= "<b>Script</b>: http://".$_SERVER[HTTP_HOST].getenv("REQUEST_URI")."\n<br>";
                   $content .= "<b>Referer</b>: ".getenv("HTTP_REFERER")."\n<br><br>";               if ($_SESSION[pauserinfo][isadmin]==1 OR $debug==1) {
                   $message .= $content;
               }
               $message .= "<p>请尝试刷新你的浏览器,如果仍然无法正常显示,请联系管理员.</p>";
   $message .=$content;
               $message .= "</body>\n</html>";
               echo $message;
                  //$headers = "From: phpArticle Mailer <$technicalemail>\r\n";               //$content = strip_tags($content);
               //@mail($technicalemail,"数据库出错",$content,$headers);               exit;
      }
}
?>