<?php |
010 | class mysql { |
011 | private $_link ; |
012 | |
013 | public function __construct( $dbhost = 'localhost' , $dbuser = 'root' , $dbpassword = '' , $dbname = 'taojindidai' , $charset = 'gbk' ) { |
014 | $this ->_link = mysql_connect( $dbhost , $dbuser , $dbpassword ,true); /*连接数据库*/ |
015 | $this ->_link or $this ->errmsg( '无法连接MYSQL服务器!' ); /*是否连接成功*/ |
016 | if ( $this ->version() > '4.1' ) { /*检查数据库版本*/ |
017 | $this ->query( 'set names ' . $charset ); /*设置数据库编码*/ |
018 | } |
019 | /*打开数据库*/ |
020 | mysql_select_db( $dbname , $this ->_link) or $this ->errmsg( '无法连接数据库!' ); |
021 | } |
022 | |
023 | /*执行数据库操作*/ |
024 | public function query( $sql ) { |
025 | $result = mysql_query( $sql , $this ->_link); |
026 | $result or $this ->errmsg( '执行SQL语句错误!' ); |
027 | return $result ; |
028 | } |
029 | |
030 | /*返回根据从结果集取得的行生成的数组*/ |
031 | /*MYSQL_BOTH 得到一个同时包含关联和数字索引的数组 (如同 mysql_fetch_array())*/ |
032 | /*MYSQL_ASSOC 得到一个同时包含关联和数字索引的数组 (如同 mysql_fetch_assoc())*/ |
033 | /*MYSQL_NUM 得到一个同时包含关联和数字索引的数组 (如同 mysql_fetch_row())*/ |
034 | public function fetch_array( $result , $type = MYSQL_ASSOC) { |
035 | return mysql_fetch_array( $result , $type ); |
036 | } |
037 | |
038 | /*返回根据所取得的行生成的对象*/ |
039 | public function fetch_object( $result ) { |
040 | return mysql_fetch_object( $result ); |
041 | } |
042 | |
043 | /*取得前一次 MySQL 操作所影响的记录行数*/ |
044 | public function affected_rows() { |
045 | return mysql_affected_rows( $this ->_link); |
046 | } |
047 | |
048 | /* 释放结果内存*/ |
049 | public function free_result( $result ) { |
050 | return mysql_free_result( $result ); |
051 | } |
052 | |
053 | /* 取得结果集中行的数目*/ |
054 | public function num_rows( $result ) { |
055 | return mysql_num_rows( $result ); |
056 | } |
057 | |
058 | /* 取得结果集中字段的数目*/ |
059 | public function num_fields( $result ) { |
060 | return mysql_num_fields( $result ); |
061 | } |
062 | |
063 | /*取得上一步 INSERT 操作产生的 ID*/ |
064 | public function insert_id() { |
065 | return mysql_insert_id( $this ->_link); |
066 | } |
067 | |
068 | /* 发出mysql执行错误*/ |
069 | private function errmsg( $msg ) { |
070 | $message = '<strong>一个MySQL错误发生!</strong><br />' ; |
071 | $message .= '<strong>错误号:</strong>' . mysql_errno( $this ->_link) . '<br />' ; |
072 | $message .= '<strong>错误描述:</strong>' . $msg . mysql_error( $this ->_link) . '<br />' ; |
073 | $message .= '<strong>错误时间:</strong>' . date ( 'Y-m-d H:i:s' ); |
074 | exit ( $message ); |
075 | } |
076 | |
077 | /*返回连接的标识*/ |
078 | public function link_id() { |
079 | return $this ->_link; |
080 | } |
081 | |
082 | /*返回数据库服务器版本*/ |
083 | public function version() { |
084 | return mysql_get_server_info( $this ->_link); |
085 | } |
086 | |
087 | /*获得客户端真实的IP地址*/ |
088 | function getip() { |
089 | if ( getenv ( "HTTP_CLIENT_IP" ) && strcasecmp ( getenv ( "HTTP_CLIENT_IP" ), "unknown" )) { |
090 | $ip = getenv ( "HTTP_CLIENT_IP" ); |
091 | } elseif ( getenv ( "HTTP_X_FORWARDED_FOR" ) && strcasecmp ( getenv ( "HTTP_X_FORWARDED_FOR" ), "unknown" )) { |
092 | $ip = getenv ( "HTTP_X_FORWARDED_FOR" ); |
093 | } elseif ( getenv ( "REMOTE_ADDR" ) && strcasecmp ( getenv ( "REMOTE_ADDR" ), "unknown" )) { |
094 | $ip = getenv ( "REMOTE_ADDR" ); |
095 | } elseif (isset ( $_SERVER [ 'REMOTE_ADDR' ]) && $_SERVER [ 'REMOTE_ADDR' ] && strcasecmp ( $_SERVER [ 'REMOTE_ADDR' ], "unknown" )) { $ip = "unknown" ; |
096 | |
097 | $ip = $_SERVER [ 'REMOTE_ADDR' ]; |
098 | } else { |
099 | } |
100 | return ( $ip ); |
101 | } |
102 | } |
103 | ?> |
收集一个很常用的数据库连接类,很实哈,要不你也试试看