PHP+mysql常用类库
<?php /** * @title: Ekcms mysql类库 * @version: 1.0 * @author: perry <perry@1kyou.com> * @published: 2013-10-2 */ //数据库连接类 class mysql { var $ConnStr; function __construct(){ $this->connect(); $this->selectdb(); } //连接数据库服务器 function connect(){ $this->ConnStr=(DB_PCONNECT)?@mysql_pconnect(DB_HOST.":".DB_PORT,DB_USER,DB_PWS):@mysql_connect(DB_HOST.":".DB_PORT,DB_USER,DB_PWS); if(!$this->ConnStr){ echo '数据库连接错误'.mysql_error(); } } //连接数据库 function selectdb(){ if(!@mysql_select_db(DB_NAME,$this->ConnStr)){ echo '数据库'.DB_NAME.'不存在'; } @mysql_unbuffered_query("set names ".DB_CHARSET); } //mysql执行语句 function query($sql){ $sql = str_replace("#@__", PREX, $sql); if(!$res=@mysql_query($sql,$this->ConnStr)){ echo '操作数据库失败'.mysql_error()."<br>sql:{$sql}"; } return $res; } //sql报错信息 function get_error(){ $err=mysql_error($this->ConnStr); return $err; } //取出数字作为数组索引的数据集合 function fetch_array($sql){ $result=$this->query($sql); $array = array(); while($rows=@mysql_fetch_array($result)){ $array[]=$rows; } mysql_free_result($result); return $array; } function fetch_rows($sql){ $query = $this->query($sql); return @mysql_fetch_array($query); } //读取单条数据 function get_one($sql){ $result=$this->query($sql); return @mysql_fetch_assoc($result); } //取出字段作为数组索引的数据集合 function fetch_asc($sql){ $result=$this->query($sql); $arr=array(); while($rows=@mysql_fetch_assoc($result)){ $arr[]=$rows; } mysql_free_result($result); return $arr; } //最后一次插入的id function insert_id(){ return mysql_insert_id($this->ConnStr); } //返回数据数目 function num_rows($sql){ $result=$this->query($sql); $num=@mysql_num_rows($result); mysql_free_result($result); return $num; } //取得结果集中字段的数目 function num_fields($query){ return mysql_num_fields($query); } //返回字段名数组 function fetch_field($sql){ $result=$this->query($sql); $num=$this->num_fields($result); for($i=0;$i<$num;$i++){ $arr[]=mysql_field_name($result,$i); } return $arr; } //获得版本信息 function server_info(){ return mysql_get_server_info($this->ConnStr); } //查询数据条数 function db_num($table,$where){ $num=$this->num_rows("select * from ".PREX.$table." where $where"); return $num; } //添加信息进数据表 function db_insert($table, $field) { $SQL = "INSERT INTO `".PREX.$table."` SET $field"; $this->query($SQL); return $this->insert_id(); } //更新数据表信息 function db_update($table,$field,$where){ $SQL = "UPDATE `".PREX.$table."` SET $field WHERE $where"; return $this->query($SQL); } //删除数据信息 function db_delete($table, $where) { $SQL = "DELETE FROM `".PREX.$table."` WHERE $where"; return $this->query($SQL); } //执行事务函数 function query_work($arr){ $this->query("SET AUTOCOMMIT=0"); $this->query("BEGIN"); if (is_array($arr)){ foreach ($arr as $k=>$v){ if(!$this->query($v)){ $this->query("ROOLBACK"); } } return $this->query("COMMIT");//执行事务 } return ''; } //手动关闭数据库 function close(){ @mysql_close($this->ConnStr); } /* * *数据库操作 *创建、修改、删除数据表 *添加、修改、删除字段 * */ //创建数据表 function create_table($table,$field){ $sql="create table ".PREX.$table." (".$field.") ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci"; return $this->query($sql); } //添加字段 function add_field($table,$field){ $sql="alter table ".PREX.$table." add ".$field." CHARACTER SET utf8 COLLATE utf8_general_ci NULL"; return $this->query($sql); } //修改字段 function edit_field($table,$field){ $sql="alter table ".PREX.$table." CHANGE ".$field." CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL"; return $this->query($sql); } //删除字段 function del_field($table,$field){ $sql="alter table ".PREX.$table." drop column ".$field; return $this->query($sql); } //显示数据表 function show_table(){ $rel=$this->fetch_array('show tables'); foreach($rel as $key=>$value){ $arr[]=$value[0]; } return $arr; } //修改数据表名,$table-改前表名 $table_now-改后表名 function rename_table($table,$table_now){ $sql="RENAME TABLE ".$table." TO ".$table_now; return $this->query($sql); } //删除数据表 function del_table($table){ $sql="drop table ".PREX.$table; return $this->query($sql); } //析构函数关闭数据库 function __destruct(){ @mysql_close($this->ConnStr); } } ?>