PDO:メモリ内に SQLite データベースを作成できません
-
19-09-2019 - |
質問
PDO について少し学ぼうとしています。 このチュートリアル. 。次のコード スニペットが含まれています。
<?php
try
{
$db = new PDO('sqlite::memory');
echo "SQLite created in memory.";
}
catch(PDOException $e)
{
echo $e->getMessage();
}
これを実行すると、次の例外メッセージが表示されます。
SQLSTATE[HY000] [14] データベース ファイルを開けません
それはどういう意味ですか?どうすれば機能させることができますか?MySQL データベースと通常の SQLite データベース ファイルに接続できます。したがって、少なくとも何かが機能していることはわかります...
Apache 2.2.11 および PHP 5.3.0 (最新) を搭載した Windows 7 64 ビットを使用しています。 ワンプサーバー インストール)。 phpinfo()
SQLite ライブラリ 3.6.15 が有効になっている pdo_sqlite があることが報告されています。
解決
書かなければなりません
$db = new PDO('sqlite::memory:');
後続の :
不足している。
PDO_SQLITE データ ソース名 (DSN) は次の要素で構成されます。
DSN プレフィックスは次のとおりです。 スクライト:.
ディスク上のデータベースにアクセスするには、DSN プレフィックスに絶対パスを追加します。
メモリ内にデータベースを作成するには、 :メモリ: DSN プレフィックスに。
他のヒント
勝利の権限@わからないが、* nixの上で、SQLiteのニーズは、一時ファイル用のデータベースファイルを閉じ込めるディレクトリへの書き込み権限を。
所属していません StackOverflow