尝试了解一些有关 PDO 的知识并且正在经历 本教程. 。它有以下代码片段:

<?php

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

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

当我运行此命令时,我收到以下异常消息:

SQLSTATE[HY000] [14] 无法打开数据库文件

这意味着什么?我怎样才能让它发挥作用?我能够连接到 MySQL 数据库以及常规 SQLite 数据库文件。所以我知道至少有一些东西正在发挥作用......

我使用的是 Windows 7 64 位,带有 Apache 2.2.11 和 PHP 5.3.0(最新 Wamp服务器 安装)。 phpinfo() 报告我已经启用了 SQLite Library 3.6.15 的 pdo_sqlite 。

有帮助吗?

解决方案

你必须写

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

尾随的 : 不见了。


PDO_SQLITE 数据源名称 (DSN) 由以下元素组成:

DSN 前缀是 sqlite:.

  • 要访问磁盘上的数据库,请将绝对路径附加到 DSN 前缀。

  • 要在内存中创建数据库,请附加 :记忆: 到 DSN 前缀。

文档

其他提示

不知道@赢的权限,但在* nix,SQLite的需要写权限的目录限制数据库文件的临时文件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top