|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 6 ![]() |
Bonjour
Je veux faire une page avec un accès à une base sqlite et je galère J'ai installé wamp avec - SQLiteManager version 1.2.0 - SQLite version 2.8.17 - 3.3.17undefined - PHP version 5.2.5 Déjà je ne comprend pas bien ce que signifie le 3.3.17undefined ... bref J'ai créé une base avec SQLiteManager et j'ai voulu m'y connecter : $dbh = new PDO("sqlite:../mabase.sqlite", "", "", array(PDO::ATTR_PERSISTENT => true)); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); Je pars en exception avec : SQLSTATE[HY000]: General error: 26 file is encrypted or is not a database Bon j'ai voulu installer la version 3 de sqlite en prenant : http://www.sqlite.org/sqlitedll-3_5_6.zip. J'ai copié sqlite3.dll dans ext et j'ai rajouté l'extension dans php.ini extension=php_sqlite.dll extension=sqlite3.dll ça a rien changé même dans le phpinfo Du coup je ne sais plus trop quoi faire. |
|
|
00
|
|
|
#2 | |
|
Membre actif
![]() Inscription : décembre 2004 Messages : 169 ![]() |
Citation:
Dans un premier temps, je te souhaite la bienvenue dans le petit monde de SQLite. Ensuite, je pense qu'il te manque un paramètre dans ta ligne $dbh = new PDO(... Tente ceci afin de faire un test dans un nouveau répertoire : <?php echo "<br>* Connexion à la base avec un objet PDO :"; $dbPath = 'essai3.db'; $user = ''; $password = ''; $arrayAttrib = array(); $arrayAttrib[PDO_ATTR_PERSISTENT] = true; $db = new PDO('sqlite:'.$dbPath, $user, $password, $arrayAttrib); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $result = $db->Query("SELECT sqlite_version();", true, false); echo "<br>* Version de la base : " . $result->fetchColumn(); ?> Pour ma part, j'obtiens pour une version plus ancienne que la tienne ( SQLiteManager version 1.2.0, SQLite version 2.8.17 - 3.2.8undefined / PHP version 5.1.4) : * Connexion à la base avec un objet PDO : * Version de la base : 3.2.8undefined Par contre, je n'utilise jamais PDO pour travailler avec SQLite et j'ai toujours du mal à comprendre pourquoi wamp travaille avec une base 2.8 par défaut avec ce genre de commande : $db = new SQLiteDatabase('essai2.db'); $result = $db->singleQuery("SELECT sqlite_version();"); echo "<br>* Version de la base : " . $result; Il y a surement un paramètre à modifier quelque part, mais je n'ai jamais cherché. Si le test est ok, alors tu devrais arriver de fil en fil à utiliser une base sqlite 3. Si ta version est 2.8, alors il y a surement quelque chose à modifier dans ta configuration du serveur. a+ |
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 6 ![]() |
Merci pour ta réponse !
J'ai fais le test est j'obtiens : Connexion à la base avec un objet PDO :<br>* Version de la base : 3.3.17undefined Du coup je suis partie d'une base vide crée avec des lignes de commandes et je l'ai agrémenté comme ça. Et là j'arrive bien à y accéder sans erreur !! |
|
|
00
|
|
|
#4 |
|
Membre actif
![]() Inscription : décembre 2004 Messages : 169 ![]() |
Bon alors, la question est résolue.
a+ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com