PHP mysqli数据库操作类
程序员文章站
2024-01-30 12:18:58
...
对象 static private $_instance;//本类实例 //构造函数初始化$mysqli对象 private function __construct() { $this->mysqli=new mysqli($this->host,$this->user,$this->pwd,$this->db,$this->port); if(mysqli_connect_errno()){ $this->mysqli=false; echo mysqli_connect_error(); die(); }else{ $this->mysqli->set_charset($char); } } //析构函数:释放结果集和关闭数据库 public function __destruct(){ $this->free(); $this->close(); } //初始化$mysqli对象 public static function getInstance(){ if(!(self::$_instance instanceof self)) { self::$_instance = new self(); } return self::$_instance; } //释放结果集 private function free(){ @$this->result->free(); } //关闭数据库连接 private function close(){ $this->mysqli->close(); } //执行sql语句 public function query($sql){ return $this->mysqli->query($sql); } //获取查询结果 public function get_result_array($table,$field,$c $table=$this->prefix.$table; if(is_array($field)){ $field = join(',',$field); } $sql = "SELECT $field FROM ".$table; if(!empty($condition))$sql .=" $condition "; $this->result = $this->query($sql); $return = array(); while($row = $this->fetch($this->result)){ $return[] = $row; } $this->free(); return $return; } //增删改操作 public function execute($table,$action,$arr_field=array(),$c $table=$this->prefix.$table; switch($action){ case 'INSERT': $str_field = ''; $str_val = ''; foreach($arr_field as $key=>$val){ $str_field .= '`'.$key.'`,'; $str_val .= '\''.$val.'\','; } $str_field = rtrim($str_field, ','); $str_val = rtrim($str_val, ','); $sql = "INSERT INTO $table ($str_field) VALUES ($str_val) "; break; case 'DELETE': $sql = "DELETE FROM $table"; if (!empty($condition)) $sql .= " WHERE $condition"; break; case 'UPDATE': $str_field = ''; foreach($arr_field as $key => $val){ $str_field.= '`'.$key ."` ='$val',"; } $str_field = rtrim($str_field, ','); $sql = "UPDATE $table SET $str_field"; if (!empty($condition)) $sql .= " WHERE $condition"; break; } $this->query($sql); return $this->get_affected_rows(); } //获得受影响行数(针对增删改操作) public function get_affected_rows(){ return $this->mysqli->affected_rows; } //获取集合条数 public function get_rows($table,$c 1 ',$id='id'){ $table=$this->prefix.$table; $sql="SELECT COUNT($id) num FROM ".$table." $condition"; $this->result=$this->query($sql); $row=$this->fetch($this->result); return $row['num']; } //获得结果集 public function fetch($result){ return $result->fetch_array($this->fetch_mode); } //获得所有结果集 public function fetch_all($result){ $rows=array(); while($row=$this->fetch($result)){ $rows[]=$row; } return $rows; } }
想用PHP写手机App的接口封装的一个数据库操作类
以上就介绍了PHP mysqli数据库操作类,包括了对象方面的内容,希望对PHP教程有兴趣的朋友有所帮助。