濮阳杆衣贸易有限公司

主頁 > 知識庫 > php封裝db類連接sqlite3數(shù)據(jù)庫的方法實例

php封裝db類連接sqlite3數(shù)據(jù)庫的方法實例

熱門標(biāo)簽:全國各省地圖標(biāo)注點 周口網(wǎng)絡(luò)回?fù)芡夂粝到y(tǒng) 商丘外呼系統(tǒng)好處 百度地圖標(biāo)注類型是酒店 隨州銷售電銷機器人公司 外呼系統(tǒng)人工客服 網(wǎng)絡(luò)電話400申請 福建高頻外呼防封系統(tǒng)哪家好 400電話申請辦理

前言

SQLite3擴展名在PHP 5.3.0+以上都會默認(rèn)啟用。可以在編譯時使用--without-sqlite3來禁用它。

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

有關(guān)詳細(xì)的安裝說明,請查看PHP教程及其官方網(wǎng)站。

本文主要介紹了關(guān)于php封裝db類連接sqlite3的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),下面話不多說了,來一起看看詳細(xì)的介紹吧。

示例代碼:

?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;$icount($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;$icount($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;$icount($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;$icount($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;$icount($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;$icount($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支持?jǐn)?shù)據(jù)庫移植,如果你的部署將來有多種數(shù)據(jù)庫,那就用它了.同時,PDO是C設(shè)計的,執(zhí)行效率較高.他已經(jīng)封裝為PHP的擴展庫組件了.運行快,效率高

更多關(guān)于PHP用PDO如何封裝簡單易用的DB類的內(nèi)容可以參考這篇文章:https://www.jb51.net/article/119880.htm

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • php db類庫進(jìn)行數(shù)據(jù)庫操作
  • PHP基于MySQLI函數(shù)封裝的數(shù)據(jù)庫連接工具類【定義與用法】
  • PHP數(shù)據(jù)庫表操作的封裝類及用法實例詳解
  • PHP封裝的PDO數(shù)據(jù)庫操作類實例
  • PHP數(shù)據(jù)庫處理封裝類實例
  • php簡單數(shù)據(jù)庫操作類的封裝
  • PHP封裝mysqli基于面向?qū)ο蟮膍ysql數(shù)據(jù)庫操作類與用法示例
  • PHP封裝的mysqli數(shù)據(jù)庫操作類示例
  • PHP模型Model類封裝數(shù)據(jù)庫操作示例
  • PHP封裝的數(shù)據(jù)庫模型Model類完整示例【基于PDO】
  • PHP封裝類似thinkphp連貫操作數(shù)據(jù)庫Db類與簡單應(yīng)用示例

標(biāo)簽:十堰 迪慶 定西 海南 六安 樂山 佛山 南寧

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《php封裝db類連接sqlite3數(shù)據(jù)庫的方法實例》,本文關(guān)鍵詞  php,封裝,類,連接,sqlite3,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《php封裝db類連接sqlite3數(shù)據(jù)庫的方法實例》相關(guān)的同類信息!
  • 本頁收集關(guān)于php封裝db類連接sqlite3數(shù)據(jù)庫的方法實例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    灵丘县| 叶城县| 衡南县| 镇巴县| 土默特右旗| 石狮市| 乌什县| 东乡族自治县| 阳谷县| 涞源县| 东平县| 鸡东县| 宾川县| 漾濞| 澄江县| 新泰市| 汉沽区| 唐河县| 丹寨县| 游戏| 昌邑市| 石泉县| 静乐县| 东丽区| 衡南县| 建平县| 酒泉市| 渝中区| 东乌珠穆沁旗| 襄垣县| 大庆市| 海晏县| 文山县| 冀州市| 云和县| 壶关县| 潜江市| 张家川| 环江| 凤山县| 昂仁县|