Définition du module libsqlite3
<?php
foreach (PDO::getAvailableDrivers() as $pro_driver) {
echo 'disponible: '.$pro_driver . '
';
}
?>
Créer une table avec SQLite
Comme nous l'avons vu, la base SQLite fonctionne directement à partir d'un driver inclu dans PHP, nul besoin d'une communication avec un serveur. Il existe 2 modes pour créer des tables: les données sont stockées dans un fichier ou alors directement en mémoire avec new PDO('sqlite::memory:');<?php
//Ouvrir ou créer la base de données member
$db = new PDO('sqlite:member.sqlite');
//Activer les exceptions
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//Créer la table
$db->exec("CREATE TABLE IF NOT EXISTS TB_MEMBER (
ME_ID INTEGER PRIMARY KEY AUTOINCREMENT,
ME_NAME VARCHAR(100),
ME_DATE DATETIME)");
?>
Ajouter une ligne à la table TB_MEMBER
Si vous avez l'habitude d'utiliser PDO, le code vous semblera familier, préparer la requête d'insertion puis exécuter avec les paramètres.<?php
//Ouvrir ou créer la base de données member
$db = new PDO('sqlite:member.sqlite');
//Activer les exceptions
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//Requete SQL d'insertion
$sql = 'INSERT INTO TB_MEMBER (ME_NAME,ME_DATE) values(:ME_NAME,:ME_DATE)';
$stmt = $db->prepare($sql);
//Paramètre PDO
$P = array('ME_NAME' => 'BlackBear',
'ME_DATE' => time());
//Executer la requete
$stmt->execute($P);
$stmt->closeCursor();
?>
Certains diront: t'as oublié ME_ID !
Sélectionner les lignes de la table avec SQLite
La sélection de donnée fonctionne également avec PDO, voyons comment sélectionner toutes les entrées de la table.<?php
//Ouvrir ou créer la base de données member
$db = new PDO('sqlite:member.sqlite');
//Activer les exceptions
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = 'SELECT * FROM TB_MEMBER';
$stmt = $db->prepare($sql);
$stmt->execute();
//extaire les données
$member_list = $stmt->fetchAll(PDO::FETCH_ASSOC);
$stmt->closeCursor();
//Parcourir la liste des membres
foreach ($member_list as $row) {
echo '
ID '.$row['ME_ID'].' Nom '.$row['ME_NAME'].' inscrit depuis '.date("d/m/Y H:i:s", $row['ME_DATE']);
}
?>
En ce qui concerne la date d'inscription, la date est stockée sous forme d'un timestamp Unix dans la base de donnée. La date est décodée avec la fonction date("d/m/Y H:i:s").