class Db{
private $con;
function __construct($mysql_data){
$this->db_connect($mysql_data);
}
/**
* 连接数据库
* @param array $mysql_data 数据库连接信息 array('host'=>'主机:端口','user'=>'用户','pass'=>'密码','dbbase'=>'数据库','charset'=>'字符类型')
* */
function db_connect($mysql_data){
$host = $mysql_data['host'];
$user = $mysql_data['user'];
$pass = $mysql_data['pass'];
$dbbase = $mysql_data['dbbase'];
$charset= $mysql_data['charset'];
$this->con = @mysql_connect($host,$user,$pass) or die('NO SERVER');
if($this->con){
mysql_select_db($dbbase,$this->con) or die('NO DATABASE:'.$dbbase);
mysql_query('set names '.$charset);
}
}
/**
* 执行sql语句
* @param string $sql 需要执行的sql
* @return obj
* */
function query($sql){
return mysql_query($sql,$this->con);
}
/**
* 取一条查询结果
* @param string $sql 需要执行的sql
* @return array array('id'=>'1','dd'=>'2');
**/
function fetch_row($sql){
$result = $this->query($sql);
return mysql_fetch_assoc($result);
}
/**
* 取一条结果首字段值
* @param string $sql 需要执行的sql
* @return string
**/
function fetch_first($sql){
$result = $this->query($sql);
$result = mysql_fetch_array($result);
return $result[0];
}
/**
* 返回结果集
* @param string $sql 需要执行的sql
* @param string $filed 需要作为索引的字段
* @return array array(array('id'=>'1','dd'=>'2'),array('id'=>'1','dd'=>'2'));
* */
function fetch_result($sql,$field = null){
$result = $this->query($sql);
$ret_array = array();
while($rows = mysql_fetch_assoc($result)){
if($field){
$ret_array[$rows[$field]]= $rows;
}else{
$ret_array[]= $rows;
}
}
return $ret_array;
}
/**
* 取新增ID
* @return int
* */
function get_insertid(){
return mysql_insert_id();
}
/**
* 单个数据表插入
* @param array $Data array('字段1'=>'值','字段2'=>'值',)
* @param string $table 表名
* */
function insert($Data,$table){
//insert into table (字段,字段) values(值,值)
$key_array = implode(',',array_keys($Data));
$key_val = '\''.implode('\',\'',array_values($Data)).'\'';
$sql = "insert into ".$table." ($key_array) values($key_val)";
return $this->query($sql);
}
/**
* 更新单表
* @param array $Data array('字段1'=>'值','字段2'=>'值',)
* @param array $where array('字段1'=>'值','字段2'=>'值',)需要更新的 条件
* @param string $table 表名www.2cto.com
* */
function update($Data,$table,$where){
//update table set 字段=值,字段=值 where key =value;
$key_var = array();
foreach($Data as $key=>$val){
$key_var[] = $key."='".$val."'";
}
$key_var = implode(',',$key_var);
$whe_var = array();
foreach($where as $key=>$val){
$whe_var[] = $key."='".$val."'";
}
$whe_var = implode(' and ',$whe_var);
if($whe_var){
$whe_var = ' where '.$whe_var;
}
$sql = "update ".$table." set ".$key_var.$whe_var;
return $this->query($sql);
//return $sql;
}
}