亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

PHP實(shí)現(xiàn)的數(shù)據(jù)庫封裝類

2020-03-24 19:07:18
字體:
供稿:網(wǎng)友
?php
html' target='_blank'>class Core{
/*對數(shù)組進(jìn)行繼承*/
static function inHerit($arr_orgin,$arr_output){
return array_merge($arr_orgin,$arr_output);

} /*打印錯誤*/
static function throwError($errmsg){
echo ' p error:'.$errmsg.' /p
exit();
}
}
?
?php
class db{
private $result = array();
private $connector = array();
private $configs = array();
private $active = 0;
private $default_config = array(
'dbtype' = 'mysql',
'index' = 0,'user' = 'root', 'pwd' = '' ,'host' = 'localhost' ,'port'= 3306,'charset' = 'utf8' ,'dbname' = null
);

/*初始化*/
public function __construct($config = array()){
if($config) $this- connect($config);
} public function __destruct(){
foreach($this- connector as $index = $connect)
$this- {'_'.$this- configs[$index]['dbtype'].'_close'}($connect);

} private function _mysql_close($connect){
mysqli_close($connect);
}
/*選擇連接*/
public function selectConnect($index){
return isset($this- connector[$index]) (($this- active = $index) || true);
}
/*建立連接*/
public function connect($config){
(!isset($config['index'])) $config['index'] = $this- default_config['index']++ ; $config = Core::inHerit($this- default_config,$config);
!in_array($config['dbtype'],array('mysql')) Core::throwError('未支持的數(shù)據(jù)庫類型');
extract($config);
$this- configs[$index] = $config;
$this- {'_'.$config['dbtype'].'_connect'}($user, $pwd,$host,$dbname,$charset,$index,$port);

}
private function _mysql_connect($user = 'root', $pwd = '' ,$host = 'localhost' ,$dbname = null,$charset = 'utf8' ,$index = 0 ,$port = 3306){
$this- connector[$index] = mysqli_connect ( $host, $user, $pwd , null, $port) or Core::throwError(mysql_error());
$this- active = $index;
if($dbname) $this- selectDb($dbname,$charset);
}

/*取得當(dāng)前連接*/
private function _getConnect(){
return $this- connector[$this- active];
}
/*取得當(dāng)前連接使用的數(shù)據(jù)庫類型 帶參數(shù)自動拼接為函數(shù)名*/
private function _getDbTypeFunc($funcname = null){
$dbtype = $this- configs[$this- active]['dbtype'];
return $funcname?'_'.$dbtype.'_'.$funcname:$dbtype;
}
/*選擇數(shù)據(jù)庫*/
public function selectDb($dbname,$charset){
mysqli_select_db($this- _getConnect(),$dbname) or Core::throwError(mysql_error());
$this- _mysql_query('set names '.$charset);
}

/*執(zhí)行語句*/
private function _mysql_query($sql){
$result = mysqli_query($this- _getConnect(),$sql) or Core::throwError(mysql_error());
return $result;
} private function _mysql_bind_by_name($sql , $sqlv){
$sql_param = array();

$getparam = $getparam2 = '/w+?';// $getparam = array_keys($sqlv); implode('|',$getparam);
preg_match_all('/:('.$getparam.')/b/iU',$sql,$getparam) or Core::throwError('參數(shù)綁定錯誤');

$getparam = $getparam[1];
$getparam = array_flip($getparam); count($getparam) != count($sqlv) || array_diff_key($getparam,$sqlv) Core::throwError('參數(shù)不匹配'); $sql = preg_replace('/:('.$getparam2.')/b/iU','?',$sql) ;

$sqlv = array_merge($getparam,$sqlv);

unset($getparam2);
unset($getparam);


$stmt = mysqli_prepare($this- _getConnect(),$sql) or Core::throwError('wrong sql:'.$sql);


$ptype = '';
$bindparam = array($stmt,'');

foreach ($sqlv as $k = $v){
$ptype .= $this- _getParamType($k);
$bindparam[] = $v;
}
$bindparam[1] = $ptype;

call_user_func_array('mysqli_stmt_bind_param',$bindparam);
return $this- _mysql_stmt_exec($stmt,$sql);
} private function _mysql_bind_in_sort(){
$argus = func_get_args() ;
$sql = array_shift($argus);
$stmt = mysqli_prepare($this- _getConnect(),$sql) or Core::throwError('wrong sql:'.$sql);
$pcount = mysqli_stmt_param_count($stmt);

$pcount != count($argus) Core::throwError('參數(shù)不匹配');
$ptype = str_repeat('s',$pcount);
array_splice($argus, 0, 0 ,array($stmt,$ptype));
call_user_func_array('mysqli_stmt_bind_param',$argus); return $this- _mysql_stmt_exec($stmt,$sql);
} private function _mysql_stmt_exec($stmt,$sql){
mysqli_stmt_execute($stmt); if($this- isSelect($sql)){ ///返回值綁定

mysqli_stmt_bind_result($stmt,$a);
while ($stmt- fetch()) {
print_r($a);
echo ' br/
}
}
$stmt- close();

} /*根據(jù)參數(shù)形式使用不同函數(shù)*/
private function _mysql_iquery($sql , $sqlv = array()){
if ($sqlv){
if (is_array($sqlv))
return $this- _mysql_bind_by_name($sql , $sqlv);
else{
$argus = func_get_args() ;
return call_user_func_array(array($this,'_mysql_bind_in_sort'),$argus);
}
}else{
return $this- _mysql_query($sql,$sqlv);
}
}

/*根據(jù)鍵名前綴區(qū)分?jǐn)?shù)據(jù)類型*/
private function _getParamType($key){
$r = 's';
/*首字母小寫 第二個字母大寫 則第一個字母為模式前綴*/
$mode = array(
'i' = 'i','s' = 's','d' = 'd','b' = 'b'
);
if (strlen($key) = 2 $key[0] == strtolower($key[0]) $key[1] == strtoupper($key[1]) in_array($key[0],$mode))
$r = $mode[$key[0]];

return $r;
}
/*分析sql語句 判斷行為*/
private function _cmdType($sql){
return substr(strtolower($sql),0,strpos($sql,' '));

}
/*分析sql語句是否為select語句*/
private function isSelect($sql){
return 'select' == $this- _cmdType($sql);
}
public function query($sql , $sqlv = array()){
$func = $this- _getDbTypeFunc('iquery');

$argus = func_get_args() ;
$argus[0] = trim($argus[0]);
return call_user_func_array(array($this,$func),$argus);
}

}
? ?php
$d = array(
'dbname' = 'test',
'charset' = 'latin1'
);
$db = new db($d);//數(shù)組方式綁定參數(shù)
$sqlv = array('iId1'= '14','id2' = 30);
$r = $db - query( select id from toselect where id :iId1 and id :id2 ,$sqlv);//標(biāo)準(zhǔn)方式綁定參數(shù)
$r = $db - query( select content from toselect where id ? ,13);var_dump($r);
?html教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产精品一区二区三区美女| 超碰97在线人人| 亚洲妇女屁股眼交7| 三级影片在线观看欧美日韩一区二区| 9191精品国产综合久久久久久| 亚洲另类图片色| 中文视频在线观看| 精品国产一区二区三区四区阿崩| 亚洲啪啪综合av一区二区三区| 久久精品水蜜桃av综合天堂| 久久久久免费| 欧美日韩二区三区| 日本不卡视频一区二区| 亚洲少妇30p| 久久国产加勒比精品无码| 91 在线视频观看| 欧美日夜夜逼| 国产亚洲精品美女久久久久久久久久| h在线视频免费观看完整版| 日韩一级片在线观看| xxxx欧美xxxx黑人| 在线观看av资源| 九九视频免费观看| 波多野结衣在线观看一区二区三区| 日本中文字幕伦在线观看| 国产美女特级嫩嫩嫩bbb片| 欧美日韩三级| 伊人影院综合网| 日韩欧美中文字幕一区| 国产精品久久久久久久久久辛辛| 中文字幕第3页| 在线天堂中文| 日韩精品中文字幕吗一区二区| 亚洲国产精品久久久久婷蜜芽| 日韩美女久久久| 国产亚洲精品久久久久婷婷瑜伽| 欧美一区二区三区久久精品| 性刺激综合网| 污污视频网站| 国产又大又黑又粗免费视频| 国产精品1000| 欧美成人免费在线观看| 日韩小视频网址| 91色在线视频| 中文字幕黄色大片| 国内精品不卡一区二区三区| 亚洲欧洲无码一区二区三区| jizz国产精品| av免费网站在线| 免费高潮视频95在线观看网站| 精品日韩在线观看| www.国产成人| 欧美高清视频看片在线观看| 亚洲v中文字幕| 国产片一区二区| 三上悠亚影音先锋| 人人干视频在线| 久久男人av资源站| 亚洲成人免费视| 日韩人妻一区二区三区蜜桃视频| 一本色道久久88亚洲精品综合| 肥女人的一级毛片| 国产欧美日韩免费看aⅴ视频| 国产又粗又长又大视频| 欧美三电影在线| 国产精品私拍pans大尺度在线| 欧美人与性动交α欧美精品济南到| 国产激情在线| 在线中文字幕第一区| 欧美高清一级大片| 国产伦精品一区二区| 日韩精品久久久久久久酒店| 黄色大片网站在线观看| 啊啊啊好爽视频| 亚洲三级电影| jjzzjjzz欧美69巨大| 亚洲一区999| 精品日本美女福利在线观看| 黄色日韩网站| 中文字幕日韩精品久久| 欧美mv日韩mv国产| 一女二男3p波多野结衣| 性生生活大片免费看视频| 亚洲精品国产一区二区精华液| 538精品在线视频| 国产成人短视频在线观看| 天天综合天天综合| 中文字幕av一区二区三区高| 亚洲色成人网站www永久四虎| 国产ts人妖调教重口男| 91精品国产91久久久久游泳池| 日韩欧美一区二区三区不卡视频| 久久国产手机看片| 中文字幕理伦片免费看| 国产欧美精品一区二区三区| 污污视频在线观看网站| 天天操夜夜爽| 尤物视频在线| 国产视频久久久久久| 人人爽人人爽人人片av| 日韩欧美在线网址| 黑人一区二区三区| 国精产品视频一二二区| 性一交一乱一伧老太| 天堂在线中文字幕| 欧美hdsex| 一级黄色免费| 国产美女视频免费看| 韩国一区二区三区视频| 一区二区日韩av| 久久久久亚洲av无码专区喷水| 午夜私人影院在线观看| 久久久综合香蕉尹人综合网| 好吊日精品视频| www免费在线观看视频| 亚洲一区二区网站| 国产 日韩 欧美在线| 久草视频精品在线| 亚洲xxx拳头交| 欧一区二区三区| 欧美日韩一区 二区 三区 久久精品| 四虎成人在线视频| av无码久久久久久不卡网站| **欧美大码日韩| 99久免费精品视频在线观78| 国产男女猛烈无遮挡在线喷水| 欧美丰满片xxx777| 黄色成人在线播放| 成人av在线资源网站| 日日干天天干| 在线播放色视频| 天天操夜夜逼| 亚洲午夜在线观看视频在线| 99国产在线观看| 欧美成人视屏| 999精品网| 99xxxx成人网| 国产一区二区在线影院| 久久国产成人午夜av影院| 久久综合九色综合88i| 国产日韩1区| 国产深夜视频在线观看| 91精品在线一区| 欧美一区二区三区视频免费播放| 亚洲精品综合网| 国产一区二区三区精品视频| 超碰中文在线| 茄子视频成人在线| wwwav91com| 欧美日韩一级片网站| www.蜜臀av| 国产69精品久久久久久| 狠久久av成人天堂| 91免费精品国偷自产在线| 97视频在线观看免费高清完整版在线观看| 伊人影院蕉久影院在线播放| 亚洲色图欧洲色图| av在线免费观看网| 欧美军人男男激情gay| 亚洲欧美偷拍卡通变态| 久久一区视频| 宅男午夜电影| 久久久久久一区二区三区四区别墅| 91福利免费在线| 亚洲精品久久久久久宅男| 国产精品久久久久久在线| 久久撸在线视频| 亚洲天堂影视av| 欧美精品一区二区三区精品| 久久久精品国产一区二区| 先锋影音av在线| 亚洲国产成人高清精品| 国产老女人av| 精品视频久久久久| 中文字幕制服诱惑| 久久69精品久久久久久国产越南| 羞羞色国产精品网站| 成人一区二区三区仙踪林| 亚洲精品国产一区二| 久久久久久久久久久久久久久久久久久| 91精品1区| 黑人巨大40厘米重口ysn| www.久久撸.com| 免费看污片的软件| 狠狠色综合色综合网络| 亚洲一区二区乱码| 国产精品草草| 亚洲午夜未删减在线观看| 亚洲欧美在线一区二区| 国产精品888| 在线视频观看你懂的| 久久精彩视频| 午夜诱惑痒痒网| 久久视频在线观看中文字幕| 国产一级精品视频| 亚洲视频免费在线| 91精品一区二区三区四区| 国产精品视频麻豆| 婷婷综合网站| 久久综合999| 亚洲一线二线三线久久久| 亚洲午夜一区| 亚洲成人精品一区二区三区| 日本超碰一区二区| a级网站在线观看| 国产69精品久久99不卡| 最近免费中文字幕大全免费版视频| 欧美日韩一级黄| 久久99导航| 91视频在线| 欧美日韩国产探花| 另类专区欧美蜜桃臀第一页| 一区二区三区回区在观看免费视频| 最新av电影网站| 99视频精品免费视频| 久草亚洲一区| 亚洲视频1区| 精品盗摄一区二区三区| 亚洲深爱激情| 日本天堂在线观看| 成人天堂yy6080亚洲高清| 久久精品成人欧美大片免费| 国产精品久久在线| 亚洲不卡1卡2卡三卡2021麻豆| 久热精品免费视频| 国产成人av无码精品| 一级黄色免费毛片| 在线播放毛片| 久久夜色精品国产噜噜av小说| 欧美性xxxx巨大黑人猛| 五月婷婷免费视频| 免费在线观看毛片网站| 69**夜色精品国产69乱| 国产黄色网址在线观看| 中文字幕人妻一区| 国产精品99久久久久久人| 91精品国产91久久久久游泳池| 中文字幕第21页| 亚洲女人久久久| 久久亚洲一区二区三区四区| 亚洲免费伊人电影在线观看av| 孩xxxx性bbbb欧美| 亚洲卡通动漫在线| 欧美理论电影在线播放| 日韩三级一区二区三区| 成人av动漫在线观看| 经典一区二区三区| 一级特黄aaa大片在线观看| 欧美日韩aaaa| 久久综合网色—综合色88| 国产精品天堂蜜av在线播放| 欧美午夜激情小视频| 欧美性生交xxxxx久久久| 欧美成人在线直播| 91精品国产综合久久久久久漫画| 久久久精品天堂| 天堂中文字幕在线观看| 欧美激情在线免费观看| 99热免费精品| 国产天堂av| 999精品一区| 欧美男gay| 人人妻人人澡人人爽久久av| 久久久精品天堂| 蜜桃91精品入口| 亚洲一区美女视频在线观看免费| 69视频在线观看免费| 黄动漫视频高清在线| 无码日韩人妻精品久久蜜桃| 国产精品99精品一区二区三区∴| 国产精品久久久久久久久久久久久久久久| 2018av男人天堂| 亚洲男女自偷自拍图片另类| 波多野结衣在线影院| 黄色激情在线播放| 一区二区三区日韩欧美精品| 一女二男一黄一片| 91麻豆成人精品国产免费网站| 蜜臀精品一区二区三区在线观看| 国产aa精品| 中文字幕系列一区| 国产91热爆ts人妖在线| 亚洲成人中文在线| 色999韩欧美国产综合俺来也| 国产天堂在线播放视频| 亚洲乱码一区二区三区三上悠亚| vam成人资源在线观看| 影音先锋电影在线观看| 91超碰碰碰碰久久久久久综合| 久久久久久9| 四虎永久免费影库二三区| 国产av天堂无码一区二区三区| 外国成人激情视频| 青青青视频在线免费观看| 久久精品女人毛片国产| 国产传媒视频在线观看| 中国女人内谢25xxxx免费视频| 91精品国产综合久久精品图片| 一本不卡影院| 国产成人在线视频| 中文在线a天堂| 国产一区二区三区中文字幕| 岛国av免费在线| 精品亚洲aⅴ乱码一区二区三区| 天天影视天天精品| 国产午夜精品在线观看| 欧美一区二区三区四区在线观看地址| 日韩国产欧美精品一区二区三区| 91视频在线视频| 欧美成人综合一区| 国产精华一区二区三区| 老鸭窝亚洲一区二区三区| 天堂网www在线中文天堂| 九九热视频精品在线观看| 国产成人欧美日韩在线电影| www亚洲视频| 欧美美女喷水视频| 成人国产在线视频| 国产av无码专区亚洲av| 国产日韩精品视频一区二区三区| 国产精品视频一二三四区| 337p日本欧洲亚洲大胆色噜噜| 韩国一区二区在线播放| 人偷久久久久久久偷女厕| 欧美成人黑人| 天堂在线中文资源| 免费h片在线观看| 国产又大又长又粗又黄|