国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php封裝db類連接sqlite3數據庫的方法實例

2024-05-05 00:01:31
字體:
來源:轉載
供稿:網友

前言

SQLite3擴展名在PHP 5.3.0+以上都會默認啟用??梢栽诰幾g時使用--without-sqlite3來禁用它。

Windows用戶可通過啟用php_sqlite3.dll才能使用此擴展。 php_sqlite3.dll默認包含在PHP 5.3.0之后的PHP發行版中。

有關詳細的安裝說明,請查看PHP教程及其官方網站。

本文主要介紹了關于php封裝db類連接sqlite3的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。

示例代碼:

<?php class dbManager{ public $db; function __construct(){  if(!file_exists('./db.php')){  $this->init();  return;  }  $this->db = new SQLite3('./db.php'); } function init(){  $this->db = new SQLite3('./db.php');  // TODO: } function changes(){  return $this->db->changes(); } function query($sql,$param=null,$memb=null){  $stmt=$this->db->prepare($sql);  if(!$stmt)  return false;  if($param){  if(is_array($param)){   for($i=0;$i<count($param);$i++)   $stmt->bindValue($i+1,$param[$i]);  }else{   $stmt->bindValue(1,$param);  }  }  $rs=$stmt->execute();  if(!$rs){  $stmt->close();  return false;  }  $arr=$rs->fetchArray(SQLITE3_NUM);  $rs->finalize();  $stmt->close();  if(!$arr)  return null;  if(!$memb)  return $arr;  $res=array();  for($i=0;$i<count($memb);$i++){  $res[$memb[$i]]=$arr[$i];  }  return $res; } function queryAll($sql,$param=null,$memb=null){  $stmt=$this->db->prepare($sql);  if(!$stmt)  return false;  if($param){  if(is_array($param)){   for($i=0;$i<count($param);$i++)   $stmt->bindValue($i+1,$param[$i]);  }else{   $stmt->bindValue(1,$param);  }  }  $rs=$stmt->execute();  if(!$rs){  $stmt->close();  return false;  }    $res=array();  while($arr=$rs->fetchArray(SQLITE3_NUM)){  if(!$memb) {   $res[]=$arr;   continue;  }  if(count($memb)==1 && $memb[0]==null){   $res[]=$arr[0];   continue;  }  $it=array();  for($i=0;$i<count($memb);$i++){   $it[$memb[$i]]=$arr[$i];  }  $res[]=$it;  }  $rs->finalize();  $stmt->close();    return $res; } function querySingle($sql,$param=null){  $res=$this->query($sql,$param);  if(!$res)  return false;  return $res[0]; }  function querySingleAll($sql,$param=null){  $stmt=$this->db->prepare($sql);  if(!$stmt)  return false;  if($param){  if(is_array($param)){   for($i=0;$i<count($param);$i++)   $stmt->bindValue($i+1,$param[$i]);  }else{   $stmt->bindValue(1,$param);  }  }  $rs=$stmt->execute();  if(!$rs){  $stmt->close();  return false;  }    $res=array();  while($arr=$rs->fetchArray(SQLITE3_NUM)){  $res[]=$arr[0];  }  $rs->finalize();  $stmt->close();    return $res; } function exec($sql,$param=null){  $stmt=$this->db->prepare($sql);  if(!$stmt)  return false;  if($param){  if(is_array($param)){   for($i=0;$i<count($param);$i++)   $stmt->bindValue($i+1,$param[$i]);  }else{   $stmt->bindValue(1,$param);  }  }  $rs=$stmt->execute();  if($rs) {  $res=true;  $rs->finalize();  }else{  $res=false;  }  $stmt->close();  return $res; }  function begin(){  return $this->exec('BEGIN'); } function rollback(){  return $this->exec('ROLLBACK'); } function commit(){  return $this->exec('COMMIT'); }  function escapeString($s){  return $this->db->escapeString($s); } //最新插入的id function lastInsertRowID(){  return $this->db->lastInsertRowID(); }  function lastErrorMsg (){  return $this->db->lastErrorMsg(); } }?>

PDO支持數據庫移植,如果你的部署將來有多種數據庫,那就用它了.同時,PDO是C設計的,執行效率較高.他已經封裝為PHP的擴展庫組件了.運行快,效率高

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 大同市| 香河县| 东山县| 建阳市| 隆回县| 仁布县| 明溪县| 成武县| 漳州市| 哈尔滨市| 怀集县| 蕲春县| 启东市| 玛沁县| 文登市| 安国市| 德化县| 永福县| 三河市| 临汾市| 凭祥市| 邯郸县| 苍南县| 哈巴河县| 江城| 小金县| 东兴市| 博罗县| 洪泽县| 竹北市| 岑巩县| 绍兴市| 东海县| 曲松县| 汪清县| 武穴市| 滕州市| 株洲县| 台山市| 沅江市| 沅江市|