php写的mysql操作类
4517 点击·0 回帖
![]() | ![]() | |
![]() | <?php 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.atcpu.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; } } | |
![]() | ![]() |