Outils pour utilisateurs

Outils du site


Panneau latéral

linux:sqlite (lu 14573 fois)

Sqlite

— source : http://www.finalclap.com/faq/170-php-sqlite-pdo

Installation

apt install php php-sqlite3

Création et connexion à une base de données SQLite La première étape et de se connecter à la base :

<?php
try{
    $pdo = new PDO('sqlite:'.dirname(__FILE__).'/database.sqlite');
    $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // ERRMODE_WARNING | ERRMODE_EXCEPTION | ERRMODE_SILENT
} catch(Exception $e) {
    echo "Impossible d'accéder à la base de données SQLite : ".$e->getMessage();
    die();
}

PDO va créer le fichier sqlite automatiquement si il n’existe pas.

Créer une table à la volée Maintenant qu’on est connecté, il faut créer une table. SQLite permet même d’utiliser des requêtes pour créer une table seulement si celle-ci n’existe pas, évitant ainsi d’avoir à faire le test :

<?php
$pdo->query("CREATE TABLE IF NOT EXISTS posts ( 
    id            INTEGER         PRIMARY KEY AUTOINCREMENT,
    titre         VARCHAR( 250 ),
    created       DATETIME
);");

Ecrire des données avec INSERT Une fois la table crée, il faut insérer des données dedans avec une requête INSERT. Pour cela on utilise des requêtes préparées comme le ferait avec MySQL (ce qui permet d’éviter les failles d’injection SQL) :

<?php
$stmt = $pdo->prepare("INSERT INTO posts (titre, created) VALUES (:titre, :created)");
$result = $stmt->execute(array(
    'titre'         => "Lorem ipsum",
    'created'       => date("Y-m-d H:i:s")
));

Pour les requêtes UPDATE (mise à jour) c’est exactement la même syntaxe (seul $stmt change).

Lire des données avec SELECT Voici un petit exemple qui permet de lire des données :

<?php
$stmt = $pdo->prepare("SELECT * FROM posts WHERE titre = :titre");
$stmt->execute(array('titre' => 'Lorem ipsum'));
$result = $stmt->fetchAll();
print_r($result);
linux/sqlite.txt · Dernière modification: 16-03-2021 11:10 de edmc73