لقد أمضيت مؤخرًا أكثر من 10 أيام في إعادة كتابة مدونة Kimchi، باستخدام تقنية PHP5+SQLITE. والسبب هو أن إدارة MYSQL مزعجة للغاية، وسيتعين عليك إنفاق المال لشراء قاعدة بيانات إضافية.
SQLite هي قاعدة بيانات مضمنة خفيفة الوزن تعتمد على الملفات، وقد تم إنشاؤها في عام 2000. وبعد أكثر من 7 سنوات من التطوير، أصبحت قاعدة البيانات المضمنة الأكثر شيوعًا اليوم، وقد استخدمتها الشركات بما في ذلك Google في برامج سطح المكتب الخاصة بها، كما تُستخدم SQLite للتخزين بيانات المستخدم. ويتبين من هذا أنه لا يوجد سبب للشك في استقرار SQLite. (هذه الفقرة مأخوذة من Lanyu Design)
فكيف يمكن استخدامها في PHP5؟ هناك طريقتان للاتصال بـ SQLite في PHP5. يتم توفير أحدهما بشكل افتراضي والآخر هو فئة PDO. الافتراضي يدعم فقط sqlite2، ولكن يمكن لشركة PDO دعم sqlite3 بشكل غير مباشر. يوجد أدناه فئة PDO بسيطة كتبتها وهي متوافقة مع نسختين.
وفيما يلي المحتوى المقتبس:
فئة سكليتي {
وظيفة __بناء(ملف $){
يحاول{
$this->Connection=new PDO('sqlite2:'.$file);
}قبض(PDOException $e){
يحاول{
$this->Connection=new PDO('sqlite:'.$file);
}قبض(PDOException $e){
خروج('خطأ!');
}
}
}
وظيفة __تدمير(){
$this->Connection=null;
}
استعلام الوظيفة($SQL){
إرجاع $this->Connection->Query($SQL);
}
تنفيذ الدالة($SQL){
إرجاع $this->Query($SQL)->fetch();
}
الدالة RecordArray($SQL) {
إرجاع $this->Query($SQL)->fetchAll();
}
وظيفة عدد السجلات($SQL) {
عدد الإرجاع($this->RecordArray($SQL));
}
الدالة RecordLastID(){
إرجاع $this->Connection->lastInsertId();
}
}
ثم قم بإنشاء مثيل أثناء إنشاء قاعدة البيانات، إذا كانت موجودة، فسيتم فتحها تلقائيًا. وإذا لم تكن موجودة، فسيتم إنشاء قاعدة البيانات تلقائيًا.
وفيما يلي المحتوى المقتبس:
$DB=new SQLite('blog.db'); // اسم ملف قاعدة البيانات هذا عشوائي
إنشاء جدول قاعدة البيانات
وفيما يلي المحتوى المقتبس:
$DB->Query("إنشاء اختبار الجدول(id integer basic key,title varchar(50)");
أضف البيانات التالية
وفيما يلي المحتوى المقتبس:
$DB->Query("أدخل في قيم الاختبار(العنوان)('كيمتشي')");
$DB->Query("أدخل في قيم الاختبار(العنوان)('المطر الأزرق')");
$DB->Query("أدخل في قيم الاختبار(العنوان)('Ajan')");
$DB->Query("أدخل في قيم الاختبار(العنوان)('Aoxuelantian')");
ثم حان الوقت لقراءة البيانات. هذه هي الدورة.
وفيما يلي المحتوى المقتبس:
$SQL='اختر عنوانًا من أمر الاختبار حسب وصف المعرف';
foreach($DB->Query($SQL) كـ $RS){
صدى $RS['title'];
}
قد يكون SQLITE أصغر بالنسبة للمؤسسات، ولكنه في الحقيقة شيء جيد للأفراد، وقابليته للنقل جيدة جدًا.
مستواي محدود، يرجى تصحيحي إذا كان هناك أي أخطاء في المحتوى أعلاه. شكرًا!