English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP SQLite

تثبيت

تم تشغيل توسيع SQLite3 بشكل افتراضي منذ PHP 5.3.0. يمكن استخدام --without-sqlite3 تعطيل توسيع SQLite3

يحتاج المستخدمون على Windows إلى تشغيل php_sqlite3.dll لتشغيل هذا التوسيع. منذ PHP 5.3.0، يتم تضمين هذا DLL في إصدارات Windows من PHP.

للحصول على إرشادات التثبيت التفصيلية، يُنصح بمراجعة دليل PHP الخاص بنا وموقع الويب الرسمي.

واجهة API PHP

هنا برنامج PHP مهم يمكنه تلبية احتياجاتك في استخدام قاعدة بيانات SQLite في برنامج PHP. إذا كنت بحاجة إلى مزيد من التفاصيل، يرجى الرجوع إلى مستندات PHP الرسمية.

رقمAPI & وصف
1public 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.

2public bool SQLite3::exec ( string $query )

تقدم هذه العملية طريقة مختصرة لتنفيذ أوامر SQL، يمكن أن تتكون أوامر SQL من عدة أوامر. تستخدم هذه البرنامج لتنفيذ بحث غير محدد في قاعدة البيانات المقدمة.

3public SQLite3Result SQLite3::query ( string $query )

تستعيد هذه العملية ملف البيانات الأساسي إذا تم العثور على نتائج للبحث SQL. SQLite3Result مثلاً.

4public int SQLite3::lastErrorCode ( void )

تستعيد هذه العملية رمز النتيجة العددية للطلب الأخير الفاشل لـ SQLite.

5public string SQLite3::lastErrorMsg ( void )

تستعيد هذه العملية النص الإنجليزي الوصفي للطلب الأخير الفاشل لـ SQLite.

6public int SQLite3::changes ( void )

تستعيد هذه العملية عدد الأسطر في قاعدة البيانات التي تم تحديثها أو إدخالها أو حذفها في آخر جملة SQL.

7public bool SQLite3::close ( void )

تغلق هذه العملية الاتصال بقاعدة البيانات المفتوح عبر SQLite3::open() سابقًا.

8public 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 في، وسيتم عرض الرسالة التالية:

تم فتح قاعدة البيانات بنجاح
تم إنشاء الجدول بنجاح

عملية INSERT

البرمجة 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، وسيتم عرض النصوص التالية:

تم فتح قاعدة البيانات بنجاح
تم إنشاء السجلات بنجاح

عملية SELECT

البرمجة 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
تم إتمام العمل بنجاح

عملية UPDATE

البرمجة 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
تم إتمام العمل بنجاح