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