English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
تم تشغيل توسيع SQLite3 بشكل افتراضي منذ PHP 5.3.0. يمكن استخدام --without-sqlite3 تعطيل توسيع SQLite3
يحتاج المستخدمون على Windows إلى تشغيل php_sqlite3.dll لتشغيل هذا التوسيع. منذ PHP 5.3.0، يتم تضمين هذا DLL في إصدارات Windows من PHP.
للحصول على إرشادات التثبيت التفصيلية، يُنصح بمراجعة دليل PHP الخاص بنا وموقع الويب الرسمي.
هنا برنامج PHP مهم يمكنه تلبية احتياجاتك في استخدام قاعدة بيانات SQLite في برنامج PHP. إذا كنت بحاجة إلى مزيد من التفاصيل، يرجى الرجوع إلى مستندات PHP الرسمية.
رقم | API & وصف |
---|---|
1 | public void SQLite3::open (filename, flags, encryption_key) فتح قاعدة بيانات SQLite 3. إذا كان التكوين يشمل التشفير، فإنه سيحاول استخدام المفتاح المزود. إذا كان اسم الملف filename تم تعيينها ':memory:'، فإن SQLite3::open() سيقوم بإنشاء قاعدة بيانات في RAM، وستستمر هذه القاعدة البيانات فقط في فترة جلسة. إذا كان اسم الملف filename هو اسم ملف الجهاز الفعلي، فإن SQLite3::open() سيحاول فتح ملف قاعدة البيانات باستخدام هذه القيمة parameter. إذا لم يكن موجودًا ملف بهذا الاسم، سيتم إنشاء ملف جديد يحتوي على قاعدة البيانات بهذا الاسم. flags الاختيارية لتحديد ما إذا كان يجب فتح قاعدة بيانات SQLite. افتراضيًا، يتم فتحها عند استخدام SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE. |
2 | public bool SQLite3::exec ( string $query ) تقدم هذه العملية طريقة مختصرة لتنفيذ أوامر SQL، يمكن أن تتكون أوامر SQL من عدة أوامر. تستخدم هذه البرنامج لتنفيذ بحث غير محدد في قاعدة البيانات المقدمة. |
3 | public SQLite3Result SQLite3::query ( string $query ) تستعيد هذه العملية ملف البيانات الأساسي إذا تم العثور على نتائج للبحث SQL. SQLite3Result مثلاً. |
4 | public int SQLite3::lastErrorCode ( void ) تستعيد هذه العملية رمز النتيجة العددية للطلب الأخير الفاشل لـ SQLite. |
5 | public string SQLite3::lastErrorMsg ( void ) تستعيد هذه العملية النص الإنجليزي الوصفي للطلب الأخير الفاشل لـ SQLite. |
6 | public int SQLite3::changes ( void ) تستعيد هذه العملية عدد الأسطر في قاعدة البيانات التي تم تحديثها أو إدخالها أو حذفها في آخر جملة SQL. |
7 | public bool SQLite3::close ( void ) تغلق هذه العملية الاتصال بقاعدة البيانات المفتوح عبر SQLite3::open() سابقًا. |
8 | public string SQLite3::escapeString ( string $value ) يستعيد هذه العملية سلسلة، في جملة SQL، تم تمريرها بشكل صحيح لأسباب الأمان. |
الكود PHP التالي يوضح كيفية الاتصال بـ قاعدة بيانات موجودة. إذا لم تكن قاعدة البيانات موجودة، فإنها سيتم إنشاؤها، وأخيرًا سيتم رجوع ملف البيانات الأساسي.
<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "تم فتح قاعدة البيانات بنجاح\n"; } ?>
الآن، دعونا نبدأ في تشغيل البرنامج المذكور أعلاه، لإنشاء قاعدة بيانات الخاصة بنا في الدليل الحالي: test.dbيمكنك تغيير المسار حسب الحاجة. إذا تم إنشاء قاعدة البيانات بنجاح، فإن الرسالة التالية سيتم عرضها:
تم فتح قاعدة البيانات بنجاح
البرمجة PHP التالية ستستخدم لإنشاء جدول في قاعدة البيانات التي تم إنشاؤها مسبقًا:
<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "تم فتح قاعدة البيانات بنجاح\n"; } $sql =<<<EOF CREATE TABLE COMPANY (ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL); EOF; $ret = $db->exec($sql); if(!$ret){ echo $db->lastErrorMsg(); } else { echo "تم إنشاء الجدول بنجاح\n"; } $db->close(); ?>
عند تنفيذ البرنامج المذكور أعلاه، سيتم إنشاء الجدول في test.db تم إنشاء جدول COMPANY في، وسيتم عرض الرسالة التالية:
تم فتح قاعدة البيانات بنجاح تم إنشاء الجدول بنجاح
البرمجة PHP التالية تظهر كيفية إنشاء سجلات في جدول COMPANY الذي تم إنشاؤه سابقًا:
<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "تم فتح قاعدة البيانات بنجاح\n"; } $sql =<<<EOF INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Paul', 32, 'California', 20000.00 ); INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (2, 'Allen', 25, 'Texas', 15000.00 ); INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (3, 'Teddy', 23, 'Norway', 20000.00 ); INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 ); EOF; $ret = $db->exec($sql); if(!$ret){ echo $db->lastErrorMsg(); } else { echo "تم إنشاء السجلات بنجاح\n"; } $db->close(); ?>
عند تنفيذ البرنامج المذكور أعلاه، سيتم إنشاء السجلات المحددة في جدول COMPANY، وسيتم عرض النصوص التالية:
تم فتح قاعدة البيانات بنجاح تم إنشاء السجلات بنجاح
البرمجة PHP التالية تظهر كيفية الحصول على عرض السجلات من جدول COMPANY الذي تم إنشاؤه سابقًا وتعديل العرض:
<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "تم فتح قاعدة البيانات بنجاح\n"; } $sql =<<<EOF SELECT * from COMPANY; EOF; $ret = $db->query($sql); while($row = $ret->fetchArray(SQLITE3_ASSOC) ){ echo "ID = ". $row['ID'] . "\n"; echo "NAME = ". $row['NAME'] ."\n"; echo "ADDRESS = ". $row['ADDRESS'] ."\n"; echo "SALARY = ". $row['SALARY'] ."\n\n"; } echo "تم إكمال العمل بنجاح\n"; $db->close(); ?>
عند تنفيذ البرنامج المذكور، سيظهر النتيجة التالية:
تم فتح قاعدة البيانات بنجاح ID = 1 NAME = Paul ADDRESS = California SALARY = 20000 ID = 2 NAME = Allen ADDRESS = Texas SALARY = 15000 ID = 3 NAME = Teddy ADDRESS = Norway SALARY = 20000 ID = 4 NAME = Mark ADDRESS = Rich-Mond SALARY = 65000 تم إتمام العمل بنجاح
البرمجة PHP التالية تظهر كيفية استخدام جملة UPDATE لتعديل أي سجل، ثم الحصول على عرض السجلات المعدلة من جدول COMPANY:
<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "تم فتح قاعدة البيانات بنجاح\n"; } $sql =<<<EOF UPDATE COMPANY set SALARY = 25000.00 where ID=1; EOF; $ret = $db->exec($sql); if(!$ret){ echo $db->lastErrorMsg(); } else { echo $db->changes(), " سجل تم تعديله بنجاح\n"; } $sql =<<<EOF SELECT * from COMPANY; EOF; $ret = $db->query($sql); while($row = $ret->fetchArray(SQLITE3_ASSOC) ){ echo "ID = ". $row['ID'] . "\n"; echo "NAME = ". $row['NAME'] ."\n"; echo "ADDRESS = ". $row['ADDRESS'] ."\n"; echo "SALARY = ". $row['SALARY'] ."\n\n"; } echo "تم إكمال العمل بنجاح\n"; $db->close(); ?>
عند تنفيذ البرنامج المذكور، سيظهر النتيجة التالية:
تم فتح قاعدة البيانات بنجاح 1 سجل تم تعديله بنجاح ID = 1 NAME = Paul ADDRESS = California SALARY = 25000 ID = 2 NAME = Allen ADDRESS = Texas SALARY = 15000 ID = 3 NAME = Teddy ADDRESS = Norway SALARY = 20000 ID = 4 NAME = Mark ADDRESS = Rich-Mond SALARY = 65000 تم إتمام العمل بنجاح
الPHP التالي يوضح كيفية استخدام جملة DELETE لإزالة أي سجل، ثم الحصول على وتعديل السجلات المتبقية في جدول COMPANY:
<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "تم فتح قاعدة البيانات بنجاح\n"; } $sql =<<<EOF DELETE from COMPANY where ID=2; EOF; $ret = $db->exec($sql); if(!$ret){ echo $db->lastErrorMsg(); } else { echo $db->changes(), " سجل تم حذفه بنجاح\n"; } $sql =<<<EOF SELECT * from COMPANY; EOF; $ret = $db->query($sql); while($row = $ret->fetchArray(SQLITE3_ASSOC) ){ echo "ID = ". $row['ID'] . "\n"; echo "NAME = ". $row['NAME'] ."\n"; echo "ADDRESS = ". $row['ADDRESS'] ."\n"; echo "SALARY = ". $row['SALARY'] ."\n\n"; } echo "تم إكمال العمل بنجاح\n"; $db->close(); ?>
عند تنفيذ البرنامج المذكور، سيظهر النتيجة التالية:
تم فتح قاعدة البيانات بنجاح 1 سجل تم حذفه بنجاح ID = 1 NAME = Paul ADDRESS = California SALARY = 25000 ID = 3 NAME = Teddy ADDRESS = Norway SALARY = 20000 ID = 4 NAME = Mark ADDRESS = Rich-Mond SALARY = 65000 تم إتمام العمل بنجاح