Maison  >  Article  >  développement back-end  >  Un exemple d'utilisation de la classe de base de données encapsulée php pour se connecter à la base de données sqlite3

Un exemple d'utilisation de la classe de base de données encapsulée php pour se connecter à la base de données sqlite3

jacklove
jackloveoriginal
2018-07-05 17:45:322009parcourir

La base de données sqlite n'utilise qu'un seul fichier. Elle est petite et pratique, c'est donc une très bonne base de données intégrée. L'article suivant vous présente principalement les informations pertinentes sur php en utilisant la classe db encapsulée pour vous connecter à sqlite3. utilise un exemple de code L'introduction est très détaillée, les amis dans le besoin peuvent s'y référer.

Avant-propos

L'extension SQLite3 sera activée par défaut dans PHP 5.3.0+ et supérieur. Cela peut être désactivé au moment de la compilation en utilisant --without-sqlite3.

Les utilisateurs Windows peuvent utiliser cette extension en activant php_sqlite3.dll. php_sqlite3.dll est inclus par défaut dans les distributions PHP après PHP 5.3.0.

Pour des instructions d'installation détaillées, veuillez consulter le tutoriel PHP et son site officiel.

Cet article présente principalement le contenu pertinent sur la classe db encapsulant php pour se connecter à sqlite3. Il est partagé pour la référence et l'étude de chacun. Je ne dirai pas grand-chose ci-dessous, jetons un coup d'œil à l'introduction détaillée.

Exemple de code :

<?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 prend en charge la migration de base de données, si votre Si vous avez déployé une variété de bases de données à l'avenir, puis utilisez-le. En même temps, PDO est conçu en C et a une efficacité d'exécution élevée. Il a été packagé en tant que composant de bibliothèque d'extension de PHP. Il fonctionne rapidement et est efficace. 🎜>

Résumé

Articles qui pourraient vous intéresser :

Analyse et explication de la méthode de simulation des requêtes http en PHP

Explication sur la façon d'utiliser PHP pour implémenter la technologie socket push

Explication sur la façon dont PHP peut obtenir l'adresse de livraison partagée WeChat

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn