PDO: غير قادر على إنشاء قاعدة بيانات SQLite في الذاكرة

StackOverflow https://stackoverflow.com/questions/2425531

سؤال

تحاول أن تتعلم قليلا عن 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 (الأحدث WampServer. ثبيت). phpinfo() تقارير أن لدي PDO_SQLITE مع مكتبة SQLite 3.6.15 ممكنة.

هل كانت مفيدة؟

المحلول

لديك لكتابة

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

الزائدة : مفقود.


يتكون اسم مصدر بيانات PDO_SQLITE (DSN) من العناصر التالية:

بادئة DSN هي sqlite:.

  • للوصول إلى قاعدة بيانات على القرص، إلحاق المسار المطلق بادئة DSN.

  • لإنشاء قاعدة بيانات في الذاكرة، إلحاق :ذاكرة: إلى بادئة DSN.

توثيق

نصائح أخرى

لست متأكدا @ فوز الأذونات، ولكن على * nix، يحتاج SQLite كتابة تصاريح إلى ملفات قاعدة البيانات DIR الخاصة بملفات TEMP.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top