php封裝的mysqli類完整例項

2022-08-29 13:33:19 字數 3716 閱讀 1218

<?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.="'$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類完整例項

類 掌握滿足單例模式的必要條件 1 私有的構造方法 為了防止在類外使用new關鍵字例項化物件 2 私有的成員屬性 為了防止在類外引入這個存放物件的屬性 3 私有的轉殖方法 為了防止在類外通過clone成生另乙個物件 4 公有的靜態方法 為了讓使用者進行例項化物件的操作 class connectmy...

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語句,並返回最後的...