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);
}
}
?>
上一篇:BZOJ1565 植物大战僵尸 题解


下一篇:Java基础 String/StringBuff/StringBuilder 常用操作方法复习/内存分析/三者的效率比较