您好,欢迎访问一九零五行业门户网

一个数据库操作PHP类

db_host = $db_host; $this->db_user = $db_user; $this->db_password = $db_password; $this->db_table = $db_table; $this->db_conn = $db_conn; $this->pre = $pre; $this->coding = $coding; $this->connect(); } function connect(){ $this->db_conn = @mysql_connect($this->db_host,$this->db_user,$this->db_password) or die($this->show_error(数据库链接错误,请检查数据库链接配置!)); if(!mysql_select_db($this->db_table,$this->db_conn)){ echo 没有找到数据表:.$this->db_table; } mysql_select_db($this->db_table,$this->db_conn); $this->query(set names $this->coding); } /*执行sql语句的函数*/ function query($sql){ if(emptyempty($sql)){ $this->show_error(你的sql语句不能为空!); }else{ $this->sql = $sql; } $result = mysql_query($this->sql,$this->db_conn); return $this->result = $result; } /*创建添加新的数据库*/ public function create_database($database_name){ $database=$database_name; $sqldatabase = 'create database '.$database; return $this->query($sqldatabase); } // 根据select查询结果计算结果集条数 public function db_num_rows(){ if($this->result==null){ if($this->show_error){ $this->show_error(sql语句错误!); } }else{ return mysql_num_rows($this->result); } } /*查询服务器所有数据库*/ //将系统数据库与用户数据库分开,更直观的显示? public function show_databases(){ $this->query(show databases); echo 现有数据库:.$amount =$this->db_num_rows($rs); echo
; $i=1; while($row = $this->fetch_array($rs)){ echo $i $row[database]; echo
; $i++; } } //以数组形式返回主机中所有数据库名 public function databases() { $rsptr=mysql_list_dbs($this->db_conn); $i=0; $cnt=mysql_num_rows($rsptr); while($i { $rs[]=mysql_db_name($rsptr,$i); $i++; } return print_r($rs); } /*查询数据库下所有的表*/ function show_tables($database_name){ $this->query(show tables); echo 现有数据库:.$amount = $this->db_num_rows($rs); echo
; $i=1; while($row = $this->fetch_array($rs)){ $columnname=tables_in_.$database_name; echo $i $row[$columnname]; echo
; $i++; } } /* mysql_fetch_row() array $row[0],$row[1],$row[2] mysql_fetch_array() array $row[0] 或 $row[id] mysql_fetch_assoc() array 用$row->content 字段大小写敏感 mysql_fetch_object() object 用$row[id],$row[content] 字段大小写敏感 */ /*取得记录集,获取数组-索引和关联,使用$row['content'] */ public function fetch_array() { return @mysql_fetch_array($this->result); } //获取关联数组,使用$row['字段名'] public function fetch_ass() { return @mysql_fetch_assoc($this->result); } //获取数字索引数组,使用$row[0],$row[1],$row[2] public function fetch_row() { return @mysql_fetch_row($this->result); } //获取对象数组,使用$row->content public function fetch_object() { return @mysql_fetch_object($this->result); } //简化查询select public function findall($table){ $table = $this->fulltablename($table); $this->query(select * from $table); } public function select($table,$columnname,$condition){ $table = $this->fulltablename($table); if(emptyempty($columnname)){ $columnname = *; } $this->query(select $columnname from $table $condition); } //简化的insert function insert($table,$arr){ $table = $this->fulltablename($table); $sql = insert into $table ; if(!is_array($arr)){ $this->show_error(请输入参数数组!); }else{ $k = ; $v = ; foreach($arr as $key => $value){ $k .= `$key`,; $v .= '.$value.',; } } $sql = $sql. (.substr($k,0,-1).) values (.substr($v,0,-1).); $this->query($sql); } //简化的update function update($table,$arr,$where){ $table = $this->fulltablename($table); $sql = update $table set ; if(!is_array($arr)){ $this->show_error(请输入参数数组!); }else{ foreach($arr as $key => $value){ $sql .= `.$key.` = '.$value.' ,; } } $sql = substr($sql,0,-1). where .$where; return $this->query($sql); } //简化的delete function delete($table,$where = ){ $table = $this->fulltablename($table); if(emptyempty($where)){ $this->show_error(条件不能为空!); }else{ $where = where .$where; } $sql = delete from $table .$where; //echo $sql; return $this->query($sql); } //取得上一步 insert 操作产生的 id public function insert_id(){ return mysql_insert_id(); } //加上前缀的数据表 public function fulltablename($table){ return $table = $this->pre.$table; } //查询字段数量 public function num_fields($table){ $table = $this->fulltablename($table); $this->query(select * from $table); echo
; echo 字段数:.$total = mysql_num_fields($this->result); echo ;
for ($i=0; $i print_r(mysql_fetch_field($this->result,$i) ); } echo ; echo
; } //取得 mysql 服务器信息 public function mysql_server($num=''){ switch ($num){ case 1 : return mysql_get_server_info(); //mysql 服务器信息 break; case 2 : return mysql_get_host_info(); //取得 mysql 主机信息 break; case 3 : return mysql_get_client_info(); //取得 mysql 客户端信息 break; case 4 : return mysql_get_proto_info(); //取得 mysql 协议信息 break; default: return mysql_get_client_info(); //默认取得mysql版本信息 } } //析构函数,自动关闭数据库,垃圾回收机制 /*public function __destruct() { if(!empty($this->result)){ $this->free(); } mysql_close($this->$db_conn); }*/ /*获得客户端真实的ip地址*/ function getip(){ if(getenv(http_client_ip) && strcasecmp(getenv(http_client_ip), unknown)) { $ip = getenv(http_client_ip); } else if (getenv(http_x_forwarded_for) && strcasecmp(getenv(http_x_forwarded_for), unknown)){ $ip = getenv(http_x_forwarded_for); } else if (getenv(remote_addr) && strcasecmp(getenv(remote_addr), unknown)) { $ip = getenv(remote_addr); } else if (isset($_server['remote_addr']) && $_server['remote_addr'] && strcasecmp($_server['remote_addr'], unknown)){ $ip = $_server['remote_addr']; } else{ $ip = unknown; } return($ip); } function show_error($str){ echo ; } } ?>
复制代码
php
其它类似信息

推荐信息