Bonjour à tous,

Si vous avez eu des difficultés pour utiliser SQLite avec Php, voici comment utiliser la dernière DLL avec php 5.1.

En effet, par défaut, php 5 est livré avec SQLite 2.8.17 et avec SQLite 3.3.xx dans une forme qui demande une petite installation de votre part :

Dans php.ini :
- Vérifier la présence de cette ligne :
extension=php_pdo.dll
- Commenter la ligne suivante si elle existe :
;extension=php_pdo_sqlite.dll
- Ajouter la ligne suivante si elle n'existe pas :
extension=php_pdo_sqlite_external.dll

Puis relancer php

Sous Wamp, vérifier que les extensions php_pdo et php_pdo_sqlite_external sont bien cochées.

Pour Windows : ajouter sqlite3.dll dernière version dans Windows\system32
(Pour Linux, je ne sais pas, mais ça viendra ...)

Voici alors un code de test :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<pre>
 
<?php
 
  try {
    $db = new PDO('sqlite::memory:');
    // ou pour un fichier :
    // $db = new PDO('sqlite:/chemin/mabase.db');
  } catch (PDOException $err) {
    echo 'Echec de la connexion : ' . $err->getMessage();
    die();
  }
 
  $sql = 'SELECT sqlite_version() AS version';
  foreach ($db->query($sql) as $row) {
    echo 'Version de SQLite: ' . $row['version'] . "\n";
  }
 
  $db->beginTransaction();
 
  print("\nCréation d'une table de fruit :\n");
  $db->exec("DROP TABLE IF EXISTS fruit");
 
  $db->exec("
    CREATE TABLE fruit (nom TEXT, couleur TEXT);
    INSERT INTO fruit VALUES ('pomme','verte');
    INSERT INTO fruit VALUES ('cerise','rouge');
    INSERT INTO fruit VALUES ('melon','vert');
  ");
 
  $db->commit();
  echo "ok\n";
 
  print("\nRécupération des fruits :\n");
  $sql = 'SELECT nom, couleur FROM fruit ORDER BY nom';
  foreach ($db->query($sql) as $row) {
    print $row['nom'] . "\t";
    print $row['couleur'] . "\n";
  }
 
  echo 'ok.';
?> 
</pre>
Il devrait donner ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
Version de SQLite: 3.6.0
 
Création d'une table de fruit :
ok
 
Récupération des fruits :
cerise	rouge
melon	vert
pomme	verte
ok.

Le phpinfo donnera :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
pdo_sqlite
PDO Driver for SQLite 3.x	enabled
PECL Module version 	1.0.1 $Id: pdo_sqlite.c,v 1.10.2.6.2.3 2007/12/31 07:20:10 sebastian Exp $
SQLite Library 	3.6.0
Ce qui est bien sympa non ?

Bien que ce message devrait être dans le forum php, je pense que celui qui cherche à utiliser SQLite sous php doit plutôt regarder dans ce forum (un peu comme celui qui cherche à coder en C une routine de SQLite).

Bon développements

PS: Sans installer quoi que ce soit, vous pouvez utiliser ce script dans un site free.fr et en renommant le fichier en *.php5.
Voici ce que cela donne (juillet 2008) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
Version de SQLite: 3.2.8
 
Création d'une table de fruit :
ok
 
Récupération des fruits :
cerise	rouge
melon	vert
pomme	verte
ok.