Latest web development tutorials

سكليتي - PHP

تثبيت

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

يجب أن مستخدمي ويندوز تمكين php_sqlite3.dll لاستخدام هذا التمديد. منذ PHP 5.3.0 فصاعدا، يتم تضمين هذه DLL في توزيع Windows PHP.

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

PHP واجهة API

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

序号API & 描述
1public void SQLite3::open ( filename, flags, encryption_key )

打开一个 SQLite 3 数据库。如果构建包括加密,那么它将尝试使用的密钥。

如果文件名filename赋值为':memory:',那么 SQLite3::open() 将会在 RAM 中创建一个内存数据库,这只会在 session 的有效时间内持续。

如果文件名 filename 为实际的设备文件名称,那么 SQLite3::open() 将使用这个参数值尝试打开数据库文件。如果该名称的文件不存在,那么将创建一个新的命名为该名称的数据库文件。

可选的 flags 用于判断是否打开 SQLite 数据库。默认情况下,当使用 SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE 时打开。

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

该例程提供了一个执行 SQL 命令的快捷方式,SQL 命令由 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 التالية كيفية الاتصال قاعدة بيانات موجودة. حالة عدم وجود قاعدة بيانات، يتم إنشاؤه، وأخيرا بإرجاع كائن قاعدة البيانات.

<بى
   الطبقة MyDB يمتد SQLite3
   {
      __construct وظيفة ()
      {
         $ هذا-> مفتوحة ( 'test.db')؛
      }
   }
   $ ديسيبل = MyDB جديد ()؛
   إذا (! $ ديسيبل) {
      صدى $ DB-> lastErrorMsg ()؛
   } {شيء آخر
      صدى "قاعدة البيانات المفتوحة بنجاح \ ن".
   }
؟>

الآن، دعونا تشغيل البرنامج المذكور أعلاه، إنشاءtest.db قاعدة البيانات الخاصة بنا في الدليل الحالي.يمكنك تغيير المسار حسب الحاجة. إذا تم إنشاء قاعدة البيانات بنجاح، فإنه سيتم عرض الرسالة هو موضح أدناه:

فتح قاعدة البيانات بنجاح

إنشاء جدول

وسوف تستخدم ما يلي مقتطف شفرة PHP لإنشاء جدول في قاعدة البيانات التي تم إنشاؤها مسبقا:

<بى
   الطبقة MyDB يمتد SQLite3
   {
      __construct وظيفة ()
      {
         $ هذا-> مفتوحة ( 'test.db')؛
      }
   }
   $ ديسيبل = MyDB جديد ()؛
   إذا (! $ ديسيبل) {
      صدى $ DB-> lastErrorMsg ()؛
   } {شيء آخر
      صدى "قاعدة البيانات المفتوحة بنجاح \ ن".
   }

   $ SQL = <<< EOF
      إنشاء المقاولة الجدول
      (ID INT PRIMARY KEY NOT NULL،
      النص اسم NOT NULL،
      AGE INT NOT NULL،
      شار عنوان (50)،
      ريال راتب)؛
EOF.

   $ متقاعد = $ DB-> إكسيك ($ مزود)؛
   إذا (! $ المتقاعد) {
      صدى $ DB-> lastErrorMsg ()؛
   } {شيء آخر
      صدى "الجدول بنجاح إنشاء \ ن".
   }
   $ DB-> قريب ()؛
؟>

عندما الإجراء أعلاه، فإنه يخلق الجدول شركة فيtest.db ويعرض الرسالة هو مبين أدناه:

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

عملية INSERT

يظهر برنامج PHP التالية كيفية إنشاء سجل في الجدول شركة تم إنشاؤها أعلاه:

<بى
   الطبقة MyDB يمتد SQLite3
   {
      __construct وظيفة ()
      {
         $ هذا-> مفتوحة ( 'test.db')؛
      }
   }
   $ ديسيبل = MyDB جديد ()؛
   إذا (! $ ديسيبل) {
      صدى $ DB-> lastErrorMsg ()؛
   } {شيء آخر
      صدى "قاعدة البيانات المفتوحة بنجاح \ ن".
   }

   $ SQL = <<< EOF
      INSERT INTO شركة (ID، الاسم والعمر والعنوان، راتب)
      VALUES (1، 'بول'، 32، 'كاليفورنيا'، 20000.00)؛

      INSERT INTO شركة (ID، الاسم والعمر والعنوان، راتب)
      VALUES (2، "ألين"، 25، "تكساس"، 15000.00)؛

      INSERT INTO شركة (ID، الاسم والعمر والعنوان، راتب)
      VALUES (3، 'تيدي'، 23، 'النرويج'، 20000.00)؛

      INSERT INTO شركة (ID، الاسم والعمر والعنوان، راتب)
      VALUES (4، "مارك (25 عاما)" ريتش موند "، 65000.00)؛
EOF.

   $ متقاعد = $ DB-> إكسيك ($ مزود)؛
   إذا (! $ المتقاعد) {
      صدى $ DB-> lastErrorMsg ()؛
   } {شيء آخر
      صدى "السجلات التي تم إنشاؤها بنجاح \ ن".
   }
   $ DB-> قريب ()؛
؟>

يتم تنفيذ البرنامج المذكور أعلاه، فإنه سيتم إنشاء في الجدول شركة لسجل معين، ويعرض السطرين التاليين:

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

عمليات SELECT

يظهر برنامج PHP التالية كيفية الحصول عليها من الجدول الشركة التي تم إنشاؤها في وقت سابق ويعرض سجل:

<بى
   الطبقة MyDB يمتد SQLite3
   {
      __construct وظيفة ()
      {
         $ هذا-> مفتوحة ( 'test.db')؛
      }
   }
   $ ديسيبل = MyDB جديد ()؛
   إذا (! $ ديسيبل) {
      صدى $ DB-> lastErrorMsg ()؛
   } {شيء آخر
      صدى "قاعدة البيانات المفتوحة بنجاح \ ن".
   }

   $ SQL = <<< EOF
      SELECT * من شركة.
EOF.

   $ متقاعد = $ DB-> الاستعلام ($ مزود)؛
   بينما ($ التوالي = $ ret-> fetchArray (SQLITE3_ASSOC)) {
      . صدى "ID =" الصف $ [ 'معرف'] "\ ن"؛
      . صدى "NAME =" الصف $ [ 'اسم'] "\ ن"؛
      . صدى "عنوان =" الصف $ [ 'عنوان'] "\ ن"؛
      . صدى "راتب =" $ التوالي [ 'راتب'] "\ ن \ ن"؛
   }
   صدى "عملية فعلت بنجاح \ ن".
   $ DB-> قريب ()؛
؟>

عندما يتم تنفيذ البرنامج المذكور أعلاه، وسوف تؤدي إلى النتائج التالية:

قاعدة البيانات المفتوحة بنجاح
ID = 1
NAME = بول
عنوان = كاليفورنيا
راتب = 20000

ID = 2
NAME = ألين
عنوان = تكساس
راتب = 15000

ID = 3
NAME = تيدي
عنوان = النرويج
راتب = 20000

ID = 4
NAME = كافة
عنوان = ريتش موند
راتب = 65000

العملية تمت العملية بنجاح

عملية تحديث

يظهر رمز PHP التالية كيفية استخدام عبارة UPDATE لتحديث أي سجلات، ثم الحصول من الجدول الشركة وعرض سجل تحديث:

<بى
   الطبقة MyDB يمتد SQLite3
   {
      __construct وظيفة ()
      {
         $ هذا-> مفتوحة ( 'test.db')؛
      }
   }
   $ ديسيبل = MyDB جديد ()؛
   إذا (! $ ديسيبل) {
      صدى $ DB-> lastErrorMsg ()؛
   } {شيء آخر
      صدى "قاعدة البيانات المفتوحة بنجاح \ ن".
   }
   $ SQL = <<< EOF
      وضعت الشركة استكمال راتب = 25000.00 حيث ID = 1؛
EOF.
   $ متقاعد = $ DB-> إكسيك ($ مزود)؛
   إذا (! $ المتقاعد) {
      صدى $ DB-> lastErrorMsg ()؛
   } {شيء آخر
      صدى $ DB-> التغييرات ()، "سجل تحديثها بنجاح \ ن".
   }

   $ SQL = <<< EOF
      SELECT * من شركة.
EOF.
   $ متقاعد = $ DB-> الاستعلام ($ مزود)؛
   بينما ($ التوالي = $ ret-> fetchArray (SQLITE3_ASSOC)) {
      . صدى "ID =" الصف $ [ 'معرف'] "\ ن"؛
      . صدى "NAME =" الصف $ [ 'اسم'] "\ ن"؛
      . صدى "عنوان =" الصف $ [ 'عنوان'] "\ ن"؛
      . صدى "راتب =" $ التوالي [ 'راتب'] "\ ن \ ن"؛
   }
   صدى "عملية فعلت بنجاح \ ن".
   $ DB-> قريب ()؛
؟>

عندما يتم تنفيذ البرنامج المذكور أعلاه، وسوف تؤدي إلى النتائج التالية:

قاعدة البيانات المفتوحة بنجاح
1 سجل تحديثها بنجاح
ID = 1
NAME = بول
عنوان = كاليفورنيا
راتب = 25000

ID = 2
NAME = ألين
عنوان = تكساس
راتب = 15000

ID = 3
NAME = تيدي
عنوان = النرويج
راتب = 20000

ID = 4
NAME = كافة
عنوان = ريتش موند
راتب = 65000

العملية تمت العملية بنجاح

عملية الحذف

يظهر رمز PHP التالية كيفية استخدام عبارة DELETE حذف أي سجلات، ثم تؤخذ من الجدول الشركة ويعرض تسجيل المتبقية:

<بى
   الطبقة MyDB يمتد SQLite3
   {
      __construct وظيفة ()
      {
         $ هذا-> مفتوحة ( 'test.db')؛
      }
   }
   $ ديسيبل = MyDB جديد ()؛
   إذا (! $ ديسيبل) {
      صدى $ DB-> lastErrorMsg ()؛
   } {شيء آخر
      صدى "قاعدة البيانات المفتوحة بنجاح \ ن".
   }
   $ SQL = <<< EOF
      حذف من شركة حيث ID = 2؛
EOF.
   $ متقاعد = $ DB-> إكسيك ($ مزود)؛
   إذا (! $ المتقاعد) {
     صدى $ DB-> lastErrorMsg ()؛
   } {شيء آخر
      صدى $ DB-> التغييرات ()، "حذف سجل بنجاح \ ن".
   }

   $ SQL = <<< EOF
      SELECT * من شركة.
EOF.
   $ متقاعد = $ DB-> الاستعلام ($ مزود)؛
   بينما ($ التوالي = $ ret-> fetchArray (SQLITE3_ASSOC)) {
      . صدى "ID =" الصف $ [ 'معرف'] "\ ن"؛
      . صدى "NAME =" الصف $ [ 'اسم'] "\ ن"؛
      . صدى "عنوان =" الصف $ [ 'عنوان'] "\ ن"؛
      . صدى "راتب =" $ التوالي [ 'راتب'] "\ ن \ ن"؛
   }
   صدى "عملية فعلت بنجاح \ ن".
   $ DB-> قريب ()؛
؟>

عندما يتم تنفيذ البرنامج المذكور أعلاه، وسوف تؤدي إلى النتائج التالية:

قاعدة البيانات المفتوحة بنجاح
حذف 1 سجل بنجاح
ID = 1
NAME = بول
عنوان = كاليفورنيا
راتب = 25000

ID = 3
NAME = تيدي
عنوان = النرويج
راتب = 20000

ID = 4
NAME = كافة
عنوان = ريتش موند
راتب = 65000

العملية تمت العملية بنجاح