Outils pour utilisateurs

Outils du site


linux:sqlite (lu 6230 fois)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

linux:sqlite [16-03-2021 11:10] (Version actuelle)
edmc73 créée
Ligne 1: Ligne 1:
 +====== 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 :
 +
 +<code php>
 +<?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();
 +}
 +</code>
 +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 :
 +
 +<code php>
 +<?php
 +$pdo->query("CREATE TABLE IF NOT EXISTS posts ( 
 +    id            INTEGER         PRIMARY KEY AUTOINCREMENT,
 +    titre         VARCHAR( 250 ),
 +    created       DATETIME
 +);");
 +</code>
 +
 +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) :
 +
 +<code php>
 +<?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")
 +));
 +</code>
 +
 +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 :
 +
 +<code php>
 +<?php
 +$stmt = $pdo->prepare("SELECT * FROM posts WHERE titre = :titre");
 +$stmt->execute(array('titre' => 'Lorem ipsum'));
 +$result = $stmt->fetchAll();
 +print_r($result);
 +</code>
  
linux/sqlite.txt · Dernière modification: 16-03-2021 11:10 de edmc73