[SQLite] Utiliser la version 3.6.0
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:
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:
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:
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:
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. |