Tutoriel classi...SE CONNECTER
Tutoriel classique SQLite
auteur:php.cn  temps de mise à jour:2022-04-13 17:05:02

SQLite-PHP


Installation

L'extension SQLite3 est activée par défaut depuis PHP 5.3.0. Les extensions SQLite3 peuvent être désactivées au moment de la compilation en utilisant --without-sqlite3.

Les utilisateurs Windows doivent activer php_sqlite3.dll pour utiliser cette extension. Depuis PHP 5.3.0, cette DLL est incluse dans la distribution Windows de PHP.

Pour des instructions d'installation détaillées, il est recommandé de consulter notre tutoriel PHP et son site officiel.

API d'interface PHP

Les programmes PHP suivants sont importants qui peuvent répondre à vos besoins en matière d'utilisation de la base de données SQLite dans les programmes PHP. Si vous avez besoin de plus de détails, consultez la documentation PHP officielle.

Numéro de sérieAPI et description
1vide public SQLite3 ::open ( nom de fichier, drapeaux, clé_de-cryptage )

Ouvrez une base de données SQLite 3. Si la version inclut le cryptage, alors la clé qu'elle tentera d'utiliser.

Si le nom de fichier filename reçoit la valeur ':memory:', alors SQLite3::open() créera une base de données en mémoire dans la RAM, qui ne durera que pendant la durée de la session.

Si filename est le nom réel du fichier de périphérique, alors SQLite3::open() utilisera la valeur de ce paramètre pour essayer d'ouvrir le fichier de base de données. Si un fichier portant ce nom n'existe pas, un nouveau fichier de base de données portant ce nom sera créé.

Les indicateurs facultatifs sont utilisés pour déterminer s'il faut ouvrir la base de données SQLite. Activé par défaut lors de l'utilisation de SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE.

2public bool SQLite3::exec ( string $query )

Cette routine fournit un raccourci pour exécuter des commandes SQL La commande SQL est fournie par le paramètre sql et peut être composée de plusieurs commandes SQL. Ce programme est utilisé pour exécuter une requête sans résultat sur une base de données donnée.

3public SQLite3Result SQLite3::query ( string $query )

Cette routine exécute un SQLite requête, si la requête renvoie un résultat, un objet SQLite3Result sera renvoyé.

4public int SQLite3::lastErrorCode ( void )

Cette routine renvoie l'échec le plus récent Code de résultat numérique pour les requêtes SQLite.

5chaîne publique SQLite3::lastErrorMsg ( void )

Cette routine renvoie l'échec le plus récent Une description textuelle en anglais de la requête SQLite.

6public int SQLite3::changes (void)

Cette routine renvoie le plus récent nombre de lignes de base de données mises à jour, insérées ou supprimées par l'instruction SQL.

7public bool SQLite3::close (void)

Cette routine est appelée avant la fermeture de SQLite3 ::open() Ouvrir la connexion à la base de données.

8chaîne publique SQLite3::escapeString ( string $value )

Cette routine renvoie une chaîne, dans le Instruction SQL, la chaîne est correctement échappée pour des raisons de sécurité.

Connexion à une base de données

Le code PHP suivant montre comment se connecter à une base de données existante. Si la base de données n'existe pas, elle sera créée et un objet base de données sera renvoyé.

<?php
   class MyDB extends SQLite3
   {
      function __construct()
      {
         $this->open('test.db');
      }
   }
   $db = new MyDB();
   if(!$db){
      echo $db->lastErrorMsg();
   } else {
      echo "Opened database successfully\n";
   }
?>

Maintenant, exécutons le programme ci-dessus pour créer notre base de données test.db dans le répertoire courant. Vous pouvez modifier le chemin selon vos besoins. Si la base de données est créée avec succès, alors un message comme indiqué ci-dessous s'affichera :

Open database successfully

Création d'une table

L'extrait de code PHP suivant sera utilisé pour créer une table dans la base de données précédemment créée :

<?php
   class MyDB extends SQLite3
   {
      function __construct()
      {
         $this->open('test.db');
      }
   }
   $db = new MyDB();
   if(!$db){
      echo $db->lastErrorMsg();
   } else {
      echo "Opened database successfully\n";
   }

   $sql =<<<EOF
      CREATE TABLE COMPANY
      (ID INT PRIMARY KEY     NOT NULL,
      NAME           TEXT    NOT NULL,
      AGE            INT     NOT NULL,
      ADDRESS        CHAR(50),
      SALARY         REAL);
EOF;

   $ret = $db->exec($sql);
   if(!$ret){
      echo $db->lastErrorMsg();
   } else {
      echo "Table created successfully\n";
   }
   $db->close();
?>

Lorsque le programme ci-dessus est exécuté, il crée la table COMPANY dans test.db et affiche le message ci-dessous :

Opened database successfully
Table created successfully

Opération INSERT

below Le programme PHP montre comment créer un enregistrement dans la table COMPANY créée ci-dessus :

<?php
   class MyDB extends SQLite3
   {
      function __construct()
      {
         $this->open('test.db');
      }
   }
   $db = new MyDB();
   if(!$db){
      echo $db->lastErrorMsg();
   } else {
      echo "Opened database successfully\n";
   }

   $sql =<<<EOF
      INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
      VALUES (1, 'Paul', 32, 'California', 20000.00 );

      INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
      VALUES (2, 'Allen', 25, 'Texas', 15000.00 );

      INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
      VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );

      INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
      VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );
EOF;

   $ret = $db->exec($sql);
   if(!$ret){
      echo $db->lastErrorMsg();
   } else {
      echo "Records created successfully\n";
   }
   $db->close();
?>

Lorsque le programme ci-dessus est exécuté, il crée l'enregistrement donné dans la table COMPANY et affiche les deux lignes suivantes :

Opened database successfully
Records created successfully

Opération SELECT

Le programme PHP suivant montre comment obtenir et afficher les enregistrements de la table COMPANY créée précédemment :

<?php
   class MyDB extends SQLite3
   {
      function __construct()
      {
         $this->open('test.db');
      }
   }
   $db = new MyDB();
   if(!$db){
      echo $db->lastErrorMsg();
   } else {
      echo "Opened database successfully\n";
   }

   $sql =<<<EOF
      SELECT * from COMPANY;
EOF;

   $ret = $db->query($sql);
   while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
      echo "ID = ". $row['ID'] . "\n";
      echo "NAME = ". $row['NAME'] ."\n";
      echo "ADDRESS = ". $row['ADDRESS'] ."\n";
      echo "SALARY =  ".$row['SALARY'] ."\n\n";
   }
   echo "Operation done successfully\n";
   $db->close();
?>

Lorsque le programme ci-dessus est exécuté, il produit les résultats suivants :

Opened database successfully
ID = 1
NAME = Paul
ADDRESS = California
SALARY =  20000

ID = 2
NAME = Allen
ADDRESS = Texas
SALARY =  15000

ID = 3
NAME = Teddy
ADDRESS = Norway
SALARY =  20000

ID = 4
NAME = Mark
ADDRESS = Rich-Mond
SALARY =  65000

Operation done successfully

Opération UPDATE

Le code PHP suivant montre comment mettre à jour n'importe quel enregistrement à l'aide de l'instruction UPDATE, puis obtenir et afficher l'enregistrement mis à jour à partir de la table COMPANY :

<?php
   class MyDB extends SQLite3
   {
      function __construct()
      {
         $this->open('test.db');
      }
   }
   $db = new MyDB();
   if(!$db){
      echo $db->lastErrorMsg();
   } else {
      echo "Opened database successfully\n";
   }
   $sql =<<<EOF
      UPDATE COMPANY set SALARY = 25000.00 where ID=1;
EOF;
   $ret = $db->exec($sql);
   if(!$ret){
      echo $db->lastErrorMsg();
   } else {
      echo $db->changes(), " Record updated successfully\n";
   }

   $sql =<<<EOF
      SELECT * from COMPANY;
EOF;
   $ret = $db->query($sql);
   while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
      echo "ID = ". $row['ID'] . "\n";
      echo "NAME = ". $row['NAME'] ."\n";
      echo "ADDRESS = ". $row['ADDRESS'] ."\n";
      echo "SALARY =  ".$row['SALARY'] ."\n\n";
   }
   echo "Operation done successfully\n";
   $db->close();
?>

L'exécution du programme ci-dessus produit le résultat suivant :

Opened database successfully
1 Record updated successfully
ID = 1
NAME = Paul
ADDRESS = California
SALARY =  25000

ID = 2
NAME = Allen
ADDRESS = Texas
SALARY =  15000

ID = 3
NAME = Teddy
ADDRESS = Norway
SALARY =  20000

ID = 4
NAME = Mark
ADDRESS = Rich-Mond
SALARY =  65000

Operation done successfully

Opération DELETE

Le code PHP suivant montre comment supprimer n'importe quel enregistrement à l'aide de l'instruction DELETE, puis obtenir et afficher les enregistrements restants du Table COMPANY :

<?php
   class MyDB extends SQLite3
   {
      function __construct()
      {
         $this->open('test.db');
      }
   }
   $db = new MyDB();
   if(!$db){
      echo $db->lastErrorMsg();
   } else {
      echo "Opened database successfully\n";
   }
   $sql =<<<EOF
      DELETE from COMPANY where ID=2;
EOF;
   $ret = $db->exec($sql);
   if(!$ret){
     echo $db->lastErrorMsg();
   } else {
      echo $db->changes(), " Record deleted successfully\n";
   }

   $sql =<<<EOF
      SELECT * from COMPANY;
EOF;
   $ret = $db->query($sql);
   while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
      echo "ID = ". $row['ID'] . "\n";
      echo "NAME = ". $row['NAME'] ."\n";
      echo "ADDRESS = ". $row['ADDRESS'] ."\n";
      echo "SALARY =  ".$row['SALARY'] ."\n\n";
   }
   echo "Operation done successfully\n";
   $db->close();
?>

Lorsque le programme ci-dessus est exécuté, il produira les résultats suivants :

Opened database successfully
1 Record deleted successfully
ID = 1
NAME = Paul
ADDRESS = California
SALARY =  25000

ID = 3
NAME = Teddy
ADDRESS = Norway
SALARY =  20000

ID = 4
NAME = Mark
ADDRESS = Rich-Mond
SALARY =  65000

Operation done successfully

Site Web PHP chinois