Question

Essayer d'apprendre un peu plus sur AOP et passe par ce tutoriel . Il a l'extrait de code suivant:

<?php

try
{
    $db = new PDO('sqlite::memory');
    echo "SQLite created in memory.";

}
catch(PDOException $e)
{
    echo $e->getMessage();
}

Quand je lance ce que je reçois le message d'exception suivant:

  

SQLSTATE [HY000] [14] ne peut pas ouvrir le fichier de base de données

Qu'est-ce que cela signifie? Comment puis-je obtenir pour travailler? Je suis en mesure de se connecter à une base de données MySQL et aussi un fichier régulier de base de données SQLite. Donc, je sais au moins quelque chose fonctionne ...

Je suis sous Windows 7 64 bits avec Apache 2.2.11 et PHP 5.3.0 (dernière WampServer install). phpinfo() rapports que j'ai pdo_sqlite avec SQLite Bibliothèque 3.6.15 activée.

Était-ce utile?

La solution

Vous devez écrire

$db = new PDO('sqlite::memory:');

le : de fuite est manquante.


  

Le nom de la source de données PDO_SQLITE (DSN) se compose des éléments suivants:

     

Le préfixe DSN est sqlite:.

     
      
  • Pour accéder à une base de données sur le disque, ajoutez le chemin absolu au préfixe DSN.

  •   
  • Pour créer une base de données en mémoire, ajouter : mémoire:. au préfixe DSN

  •   

Documentation

Autres conseils

Je ne sais pas @ autorisations de gagner, mais sur * nix, les besoins SQLite écrire la permission aux fichiers de base de données de confinement dir pour les fichiers temporaires.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top