SQLite3 avec PHP 5.5

Logo SQLiteSQLite est une bibliothèque de base de donnée qui permet de se passer des SGBD traditionnels comme MySQL, pour des projets où la base peut/doit être intégrée aux programmes.

Cette base est stockée sous la forme d’un seul fichier, ce système est donc très pratique et beaucoup utilisé dans les logiciels ou systèmes embarqués, comme les téléphones par exemple.

Voici une introduction à SQLite pour commencer à utiliser ce système avec PHP.

SQLite 2

En premier lieu il faut installer le paquet nécessaire pour pouvoir utiliser cette librairie, si vous êtes sur une Debian il suffit de faire : apt-get install php5-sqlite. Un redémarrage d’Apache peut être nécessaire.

Ensuite dans un fichier PHP, on peut commencer à écrire nos premières requêtes, en supposant que l’on a créé un dossier db à l’endroit où se trouve notre fichier PHP.

$db = new SQLiteDatabase('db/test.sqlite', 0666, $err);
if ($db === false) {
    die($err);
}

$db->queryExec('CREATE TABLE User (nom VARCHAR(50), email VARCHAR(50))');

Un fichier test.sqlite se créer dans le dossier db. Il faut que ce dossier soit accessible en écriture.

On peut ensuite créer des utilisateurs et les sélectionner comme ceci :

$db->queryExec('INSERT INTO User VALUES ("Martin", "martin@domain.com"), ("Octave", "octave@domain.com")');
$query = $db->query('SELECT * FROM User');

foreach ($query->fetchAll() as $row) {
    echo 'Nom : ' . $row['nom'] . ' - Email : ' . $row['email'] . '<br>';
}

Après avoir ajouté 2 utilisateurs, on affiche leur nom et email.

Si vous travaillez avec la dernière version de PHP (5.5 actuellement), il faudra utiliser la bibliothèque SQLite 3.

 

SQLite 3 et PHP 5.5

La syntaxe change un peu entre ces 2 versions car les classes et méthodes à appeler ne sont plus les mêmes.

Voici comment réaliser notre exemple précédent avec SQLite 3 :

$db = new SQLite3('db/test.sqlite');
$db->exec('CREATE TABLE User (nom VARCHAR(50), email VARCHAR(50))');
$db->exec('INSERT INTO User VALUES ("Martin", "martin@domain.com"), ("Octave", "octave@domain.com")');
$query = $db->query('SELECT * FROM User');

while ($row = $query->fetchArray()) {
    echo 'Nom : ' . $row['nom'] . ' - Email : ' . $row['email'] . '<br>';
}

Voila comment démarrer avec SQLite, pour plus de détails sur les méthodes direction la doc : SQLite et SQLite3.

Share Button

Laisser un commentaire.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.