改造自discuz的mysql查询类(带注释)

发布时间:2013-09-19 11:33:46来源:阅读(1125)

    link = @mysql_pconnect($dbhost, $dbuser, $dbpw)) {                    $this->halt('Can not connect to MySQL server');                }            } else {                if(!$this->link = @mysql_connect($dbhost, $dbuser, $dbpw)) {                    $this->halt('Can not connect to MySQL server');                }            }            if($this->version() > '4.1') {                global $dbcharset;                if($dbcharset) {                    mysql_query("SET character_set_connection=$dbcharset, character_set_results=$dbcharset, character_set_client=binary", $this->link);                }                   if($this->version() > '5.0.1') {                    mysql_query("SET sql_mode=''", $this->link);                }            }               if($dbname) {                mysql_select_db($dbname, $this->link);            }           }        /**        * 选择数据库        *        * @param string $dbname        * @return         */       function select_db($dbname) {            return mysql_select_db($dbname, $this->link);        }        /**        * 取出结果集中一条记录        *        * @param object $query        * @param int $result_type        * @return array        */       function fetch_array($query, $result_type = MYSQL_ASSOC) {            return mysql_fetch_array($query, $result_type);        }                /**        * 查询SQL        *        * @param string $sql        * @param string $type        * @return object        */       function query($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('MySQL Query Error', $sql);            }               $this->querynum++;            return $query;        }        /**        * 取影响条数        *        * @return int        */       function affected_rows() {            return mysql_affected_rows($this->link);        }        /**        * 返回错误信息        *        * @return array        */       function error() {            return (($this->link) ? mysql_error($this->link) : mysql_error());        }        /**        * 返回错误代码        *        * @return int        */       function errno() {            return intval(($this->link) ? mysql_errno($this->link) : mysql_errno());        }        /**        * 返回查询结果        *        * @param object $query        * @param string $row        * @return mixed        */       function result($query, $row) {            $query = @mysql_result($query, $row);            return $query;        }        /**        * 结果条数        *        * @param object $query        * @return int        */       function num_rows($query) {            $query = mysql_num_rows($query);            return $query;        }        /**        * 取字段总数        *        * @param object $query        * @return int        */       function num_fields($query) {            return mysql_num_fields($query);        }        /**        * 释放结果集        *        * @param object $query        * @return bool        */       function free_result($query) {            return mysql_free_result($query);        }        /**        * 返回自增ID        *        * @return int        */       function insert_id() {            return ($id = mysql_insert_id($this->link)) >= 0 ? $id : $this->result($this->query("SELECT last_insert_id()"), 0);        }        /**        * 从结果集中取得一行作为枚举数组        *        * @param object $query        * @return array        */       function fetch_row($query) {            $query = mysql_fetch_row($query);            return $query;        }        /**        * 从结果集中取得列信息并作为对象返回        *        * @param object $query        * @return object        */       function fetch_fields($query) {            return mysql_fetch_field($query);        }        /**        * 返回mysql版本        *        * @return string        */       function version() {            return mysql_get_server_info($this->link);        }        /**        * 关闭连接        *        * @return bool        */       function close() {            return mysql_close($this->link);        }        /**        * 输出错误信息        *        * @param string $message        * @param string $sql        */       function halt($message = '', $sql = '') {            echo $message . ' ' . $sql;            exit;           }    }       ?>  

关键字mysql查询类