php封裝的mysqli類完整例項

2022-09-28 20:00:19 字數 3457 閱讀 1516

類:<?php header('content-type:text/html;charset=utf-8');

/*掌握滿足單例模式的必要條件

(1)私有的構造方法-為了防止在類外使用new關鍵字例項化物件

(2)私有的成員屬性-為了防止在類外引入這個存放物件的屬性

(3)私有的轉殖方法-為了防止在類外通過clone成生另乙個物件

(4)公有的靜態方法-為了讓使用者進行例項化物件的操作

*/class connectmysqli

//連線資料庫

private function db_connect()

}//設定字符集

private function db_charset()");

}//選擇資料庫

private function db_usedb()");

}//私有的轉殖

private function __clone()

//公用的靜態方法

public static function getintance()

return self::$dbcon;

}//執行sql語句的方法

public function query($sql)

return $res;

}//列印資料

public function p($arr)

public function v($arr)

//獲得最後一條記錄id

public function getinsertid()

/*** 查詢某個字段

* @param

* @return string or int

*/public function getone($sql)

//獲取一行記錄,return array 一維陣列

public function getrow($sql,$type="assoc")

$funcname="mysqli_fetch_".$type;

return $funcname($query);

}//獲取一條記錄,前置條件通過資源獲取一條記錄

public function getformsource($query,$type="assoc")

$funcname="mysqli_fetch_".$type;

return $funcname($query);

}//獲取多條資料,二維陣列

public function getall($sql)

return $list;

}/**

* 定義新增資料的方法

* @param string $table 表名

* @param string orarray $data [資料]

* @return int 最新新增的id

*/public function insert($table,$data)

//$key的值是每乙個欄位s乙個欄位所對應的值

$key_str.=$key.',';

$v_str.=usdailv"'$v',";

}$key_str=trim($key_str,',');

$v_str=trim($v_str,',');

//判斷資料是否為空

$sql="insert into $table ($key_str) values ($v_str)";

$this->query($sql);

//返回上一次增加操做產生id值

return $this->getinsertid();}/*

* 刪除一條資料方法

* @param1 $table, $where=array('id'=>'1') 表名 條件

* @return 受影響的行數

*/public function deleteone($table, $where)

} else

$sql = "delete from $table where $condition";

$this->query($sql);

//返回受影響的行數

return mysqli_affected_rows($this->link);}/*

* 刪除多條資料方法

* @param1 $table, $where 表名 條件

* @return 受影響的行數

*/public function deleteall($table, $where) else

}} else

$sql = "delete from $table where $condition";

$this->query($sql);

//返回受影響的行數

return mysqli_affected_rows($this->link);

}/**

* [修改操作description]

* @param [type] $table [表名]

* @param [type] $data [資料]

* @param [type] $where [條件]

* @return [type]

*/public function update($table,$data,$where)

$str=rtrim($str,',');

//修改sql語句

$sql="update $table set $str where $where";

$this->query($sql);

程式設計客棧 //返回受影響的行數

return mysqli_affected_rows($this->link);

}}?>

用法測試:

//mysqli測試

$db=connectmysqli::getintance();

//var_dump($db);

/*$sql="select * from acticle";

$list=$db->getall($sql);

$db->p($list);*/

/*$sql="select * from acticle where acticle_id=95";

$list=$db->getrow($sql);

$db->p($list);

*//*$sql="select title from acticle";

$list=$db->getone($sql);

$db->p($list);不行*/

//$list=$db->insert("users",$_post);

//$del=$db->deleteone("users","id=29");

//$del=$db->deleteall("users","id in(27,28)");

//$up=$db->update("users",$_post,"id=27");

//print_r($list);

php封裝的mysqli類完整例項

header content type text html charset utf 8 掌握滿足單例模式的必要條件 1 私有的構造方法 為了防止在類外使用new關鍵字例項化物件 2 私有的成員屬性 為了防止在類外引入這個存放物件的屬性 3 私有的轉殖方法 為了防止在類外通過clone成生另乙個物件 ...

PHP封裝的mysqli資料庫操作類示例

由於phpmysql操作在php5.4以下被棄用而推薦使用mysqli mysql improvement 這裡是在我原有的mysql資料庫操作類的基礎上加以改進而編寫出的mysqli資料庫操作類,整體 與mysql資料庫操作類大pxztvmqzew致相同,直接例項化db class即可 publi...

PHP封裝的MSSql操作類完整例項

class mssql else else 執行sql語句,返回對應的結果標識 function query sql else 執行insert into語句,並返回最後的insert操作所產生的自動增長的id function insert table,iarr 執行update語句,並返回最後的...