由於PHPMySQL操作在PHP5.4以下被棄用而推薦使用mysqli(MySQL Improvement),這裏是在我原有的MySQL數據庫操作類的基礎上加以改進而編寫出的MySQLI數據庫操作類,整體代碼與MySQL數據庫操作類大致相同,直接實例化db_class即可
<?php
class db_class{
public $db_url; //連接地址
public $db_username; //連接名
public $db_userpassword; //連接密碼
public $db_name; //數據庫名
public $db_tablename; //表名
public $db_conn; //數據庫連接
public $db_order;
public $db_limit;
public function db_getconn(){ //連接數據庫
$this->db_conn= mysqli_connect($this->db_url,$this->db_username,$this->db_userpassword,$this->db_name);
if (!$this->db_conn)
{
echo "連接 MySQL 失敗: " . mysqli_connect_error();
}
}
public function __construct($db_url,$db_username,$db_userpassword,$db_name){ //構造方法賦值
$this->db_url=$db_url;
$this->db_username=$db_username;
$this->db_userpassword=$db_userpassword;
$this->db_name=$db_name;
$this->db_order="";
$this->db_limit="";
$this->db_getconn();
mysqli_query($this->db_conn,'set names utf8');
}
public function db_settablename($db_tablename){ //設置表名
$this->db_tablename=$db_tablename;
}
public function db_setorder($str){ //排序操作
$this->db_order="order by $str";
}
public function db_setlimit($start,$end){ //分頁操作
$this->db_limit="limit $start,$end";
}
public function db_select($typearr="",$where=""){ //查詢操作
if(empty($typearr)){
$typearr="*";
}
else{
$typearr=implode(",",$typearr);
}
if(empty($where)){
$where="";
}else{
$where="where ".$where;
}
$arr=array();
$sql="select $typearr from $this->db_tablename $where $this->db_order $this->db_limit ";
$result = mysqli_query($this->db_conn,$sql);
while($row = $result->fetch_array()) {
$arr[]=$row;
}
return $arr;
}
public function db_update($typearr,$valuearr,$where=""){ //更新操作
$sql="";
if(empty($where)){
$where="";
}else{
$where=" where ".$where;
}
$sql.="update $this->db_tablename set ";
foreach ($typearr as $key=>$value){
if(count($typearr)-1==$key){
$sql.=$value."='".$valuearr[$key]."'";
}else{
$sql.=$value."='".$valuearr[$key]."'".",";
}
}
$sql.=$where;
mysqli_query($this->db_conn,$sql);
}
public function db_delete($typestr,$valuestr){ //刪除操作
$sql="delete from $this->db_tablename WHERE $typestr=$valuestr";
mysqli_query($this->db_conn,$sql);
}
public function db_insert($typearr,$valuearr){ //插入操作
$sql="insert into $this->db_tablename(".implode(",", $typearr).") values(".implode(",", $valuearr).")";
mysqli_query($this->db_conn,$sql);
}
public function __destruct(){ //析構方法關閉連接
mysqli_close($this->db_conn);
}
}