Trying to learn a bit about PDO and is going through this tutorial. It has the following snippet of code:
<?php
try
{
$db = new PDO('sqlite::memory');
echo "SQLite created in memory.";
}
catch(PDOException $e)
{
echo $e->getMessage();
}
When I run this I get the following exception message:
SQLSTATE[HY000] [14] unable to open database file
What does that mean? How can I get it to work? I am able to connect to a MySQL database and also a regular SQLite database file. So I know at least something is working...
I'm on Windows 7 64-bit with Apache 2.2.11 and PHP 5.3.0 (latest WampServer install). phpinfo()
reports that I hav开发者_JS百科e pdo_sqlite with SQLite Library 3.6.15 enabled.
You have to write
$db = new PDO('sqlite::memory:');
the trailing :
is missing.
The PDO_SQLITE Data Source Name (DSN) is composed of the following elements:
The DSN prefix is sqlite:.
To access a database on disk, append the absolute path to the DSN prefix.
To create a database in memory, append :memory: to the DSN prefix.
Documentation
Not sure @ win permissions, but on *nix, SQLite needs write permision to the dir confining database files for temp files.
精彩评论