Heim  >  Artikel  >  Backend-Entwicklung  >  Ein Beispiel für die Verwendung der in PHP gekapselten Datenbankklasse zum Herstellen einer Verbindung zur SQLite3-Datenbank

Ein Beispiel für die Verwendung der in PHP gekapselten Datenbankklasse zum Herstellen einer Verbindung zur SQLite3-Datenbank

jacklove
jackloveOriginal
2018-07-05 17:45:322083Durchsuche

Die SQLite-Datenbank benötigt nur eine Datei und ist daher eine sehr gute eingebettete Datenbank. Der folgende Artikel führt Sie hauptsächlich in die relevanten Informationen zur Verwendung der gekapselten DB-Klasse für die Verbindung mit SQLite3 ein Verwendet Beispielcode. Die Einführung ist sehr detailliert, Freunde in Not können sich darauf beziehen.

Vorwort

Die SQLite3-Erweiterung wird standardmäßig in PHP 5.3.0+ und höher aktiviert. Dies kann zur Kompilierungszeit mit --without-sqlite3 deaktiviert werden.

Windows-Benutzer können diese Erweiterung verwenden, indem sie php_sqlite3.dll aktivieren. php_sqlite3.dll ist standardmäßig in PHP-Distributionen nach PHP 5.3.0 enthalten.

Detaillierte Installationsanweisungen finden Sie im PHP-Tutorial und auf der offiziellen Website.

In diesem Artikel werden hauptsächlich die relevanten Inhalte zur PHP-Kapselung der Datenbankklasse für die Verbindung mit SQLite3 vorgestellt. Ich werde im Folgenden nicht viel sagen.

Beispielcode:

<?php
 class dbManager{
 public $db;
 function __construct(){
  if(!file_exists(&#39;./db.php&#39;)){
  $this->init();
  return;
  }
  $this->db = new SQLite3(&#39;./db.php&#39;);
 }
 function init(){
  $this->db = new SQLite3(&#39;./db.php&#39;);
  // 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(&#39;BEGIN&#39;);
 }
 function rollback(){
  return $this->exec(&#39;ROLLBACK&#39;);
 }
 function commit(){
  return $this->exec(&#39;COMMIT&#39;);
 } 
 function escapeString($s){
  return $this->db->escapeString($s);
 }
 //最新插入的id
 function lastInsertRowID(){
  return $this->db->lastInsertRowID();
 } 
 function lastErrorMsg (){
  return $this->db->lastErrorMsg();
 }
 }
?>

PDO unterstützt die Datenbankmigration, wenn sich Ihre Bereitstellung im befindet Es gibt viele Arten von Datenbanken. Gleichzeitig ist PDO in C konzipiert und verfügt über eine hohe Ausführungseffizienz. Es wurde als Erweiterungsbibliothekskomponente von PHP gepackt und ist schnell und effizient

Zusammenfassung

Artikel, die Sie interessieren könnten:

Analyse und Erklärung der Methode der Simulation von HTTP-Anfragen in PHP

Eine beispielhafte Erklärung zur Implementierung der Socket-Push-Technologie in PHP

Eine Erklärung wie man eine gemeinsame WeChat-Lieferadresse in PHP erhält

Das obige ist der detaillierte Inhalt vonEin Beispiel für die Verwendung der in PHP gekapselten Datenbankklasse zum Herstellen einer Verbindung zur SQLite3-Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn