Domanda

Cercando di imparare un po 'DOP e sta attraversando questo tutorial . Essa ha il seguente frammento di codice:

<?php

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

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

Quando eseguo questo ottengo il seguente messaggio di eccezione:

  

SQLSTATE [HY000] [14] in grado di aprire file di database

Che cosa vuol dire? Come posso farlo funzionare? Sono in grado di connettersi a un database MySQL e anche un file di database SQLite regolare. Quindi so almeno qualcosa funziona ...

Sono su Windows 7 a 64-bit con Apache 2.2.11 e PHP 5.3.0 (ultima WampServer installazione). phpinfo() dice che ho PDO_SQLITE con SQLite Biblioteca 3.6.15 abilitato.

È stato utile?

Soluzione

Devi scrivere

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

il : finale è mancante.


  

Il nome PDO_SQLITE Data Source (DSN) è composto dai seguenti elementi:

     

Il prefisso DSN è SQLite:.

     
      
  • Per accedere a un database sul disco, aggiungere il percorso assoluto al prefisso DSN.

  •   
  • Per creare un database in memoria, aggiungere : Memoria:. per il prefisso DSN

  •   

Documentation

Altri suggerimenti

Non è sicuro @ permessi vincere, ma su * nix, esigenze SQLite scrivono il permesso al dir confinare file di database per i file temporanei.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top