IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQLite Discussion :

Connexion php et changement de version


Sujet :

SQLite

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Connexion php et changement de version
    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.

  2. #2
    Membre actif

    Inscrit en
    Décembre 2004
    Messages
    169
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 169
    Points : 225
    Points
    225
    Par défaut
    Citation Envoyé par drayane Voir le message
    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.
    Bonjour,

    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+

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    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 !!

  4. #4
    Membre actif

    Inscrit en
    Décembre 2004
    Messages
    169
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 169
    Points : 225
    Points
    225
    Par défaut
    Bon alors, la question est résolue.
    a+

Discussions similaires

  1. [MySQL] changement de version php et mysql VS PDO
    Par monlou dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/11/2014, 22h19
  2. Pb de changement de version PHP sous linux
    Par crazylia dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 04/06/2010, 13h29
  3. [Wamp] Apache plante après un changement de version PHP
    Par Nams29 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 12/05/2010, 11h22
  4. [SQL-Server] Connexion php-mssql après changement de serveur mssql
    Par xelade dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 11/09/2007, 11h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo