PHP5 : وشرح ملحقة SQLite
السلام عليكم ورحمة الله وبركاته ..
اسعد الله اوقاتكم بكل خير ..
لدي اليوم درس بسيط ومميز عن لغة PHP5 ، والتي حاليا اتعلمها ..
فأحببت ان افيد كلما انتهيت من قسم معين ان اشرحه ..
لعله عند انتهاء الدرس يستغرب البعض انني لم اضعه في قسم قواعد البيانات .. ولذلك لسبب ، انها لا تحتاج لسيرفر Mysql ولكن ملحقة مع PHP5 ..
=== بداية الموضوع ===
نعلم جميعا ان ما يخطر في بال اي شخص يرغب في الاستضافة هو قاعدة البيانات ، وكم عددها ، والحجم المسموح به لها.
في PHP5 انتهت هذه المسألة ، فبمجرد ان استضافتك تم ترقيتها إلى PHP5 فيمكنك انشاء العديد من قواعد البيانات بدون الحاجة لعدد معين ، وكل هذا تم في PHP5.
تعالوا لنتعلم سويا ما هي SQLite ..
المميزات:
+ لاتحتاج إلى سيرفر Mysql
+ سهلة الاستخدام.
+ تأتي مع PHP5 كملحقة.
+ خفيفة وسريعة.
+ تنشأ على شكل ملفات.
+ استعلامات الـSQLite كإستعلامات Mysql
العيوب:
+ عند استخدام عملية فإن جميع الجداول تغلق. ( لم استوعبها بالشكل المطلوب ).
=== تعال نكتشف كيف ذلك ===
لنبدأ الاتصال بقاعدة ، او انشاء الملف ..
في البداية ننشئ الاتصال بقاعدة البيانات ..
سوف ننشئ ملف بإسم crm.db على الترخيص 0666
كود PHP:
$db = new SQLiteDatabase("crm.db",0666,&$error) or die("Failed: $error");
سوف ننشئ تركيب جدول قاعدة البيانات ... نضعه في متغير create_query
في الـ SQLite كل ما عليك في انشاء تركيب الجدول لا تحتاج إلى شيئين ..
1. Integer - رقمي
2. varchar - نصي
الرقمي (integer ) يجب كتابته.
النصي ( Varchar ) لا يجب كتابته وهو اعلى من 255 حرف وليس محدد.
عندما ترغب في تعيين Primary Key .. بكل بساطة .. اكتب امامه ذلك ..
كود PHP:
$create_query = "
CREATE TABLE document
(id integer primary key,
title,
intro,
body
);
CREATE TABLE dictionary
(id integer primary key,
word
);
CREATE TABLE lookup
(document_id integer,
word_id integer,
postion integer
);
CREATE UNIQUE INDEX word ON dictionary(word);
";
سوف نطلب منه الان اضافة هذا الجدول في قاعدة البيانات التي انشئناها وهي crm.db
كود PHP:
$db->query($create_query);
== هنا انتهينا من انشاء ملف قاعدة البيانات وانشاء الجدول الذي نرغب به.
سوف نبدأ الان في الاضافة في قاعدة البيانات .. ونضع الاضافة في متغير insert_date
كود PHP:
$insert_data = "insert into document (title,intro,body) values ('Learn PHP5 with Albanner','Hello world with SQLite','This site use SQLite Wow')";
الان سوف نضيف التنفيذ لهذا المتغير .. لكي يضيفه في ملف قاعدة البيانات ..
كود PHP:
$db->query($insert_data);
== هنا انتهينا من اضافة المعلومات في قاعدة البيانات ..
سوف نبدأ الان الاستعلام واظهار النتائج من ملف القاعدة .. ونبدأ في وضع استعلامنا في متغير ..
كود PHP:
$show_data = "select * from document";
سوف ننفذ الاستعلام ونضعه في Fetch ..
كود PHP:
$show = $db->query($show_data);
$ft = $show->fetch();
والان باقي طباعة هذا الاستعلام ..
كود PHP:
echo "$ft[id]. <b>$ft[title]</b> <br>$ft[body]";
الكود كاملا ..
كود PHP:
<?php
$db = new SQLiteDatabase("crm.db",0666,&$error) or die("Failed: $error");
$create_query = "
CREATE TABLE document
(id integer primary key,
title,
intro,
body
);
CREATE TABLE dictionary
(id integer primary key,
word
);
CREATE TABLE lookup
(document_id integer,
word_id integer,
postion integer
);
CREATE UNIQUE INDEX word ON dictionary(word);
";
$db->query($create_query);
$insert_data = "insert into document (title,intro,body) values ('Learn PHP5 with Albanner','Hello world with SQLite','This site use SQLite Wow')";
$db->query($insert_data);
$show_data = "select * from document";
$show = $db->query($show_data);
$ft = $show->fetch();
echo "$ft[id]. <b>$ft[title]</b> <br>$ft[body]";
?>
==== انتهى الدرس ===
وسوف يظهر لك النتيجة كما في الصورة ..
=================
خذ الكود الكامل وجرب عمله على سيرفرك الشخصي وشاهد الملف سوف ينشأ "بإذن الله" .. وسوف تشاهد كما في الصورة اعلاه ..
اتمنى ان اكون وفقت في توصيل المعلومة ..
اخوكم/ نايف
albanner