مقدمة عن MySQL
قواعد البيانات و PHP:
في PHP تستطيع التعامل مع انواع عديدة من قواعد البيانات ، بهذه السلسلة سوف نوضح طرق التعامل مع قواعد البيانات من نوع MySQL ، فهي من اشهر قواعد البيانات المستخدمة مع PHP ، مجانية ، و مفتوحة المصدر ، يوجد انواع اخرى ، لكن ليست بشهرة MySQL حيث انها تتوفر بجميع الإستضافات ، و تدعمها أغلب الشركات و الأنظمة.
بشكل عام يتم تخزين البيانات في قواعد بيانات MySQL بجداول ، تكون على هيئة سجلات ذات صلة ، حيث ان كل جدول يتكون من أعمدة Columns ، و صفوف Rows.
نستفيد من قواعد البيانات لتخزين المعلومات تحت عدة تقسيمات مرتبة ومترابطة ، حيث انه يمكن لقاعدة بيانات شركة تحتوي على هذه الجداول:
- Employees
- Products
- Customers
- Orders
ولكل جدول بنيته الخاصه ، كما قلنا سابقا كل جدول يتكون من أعمدة ، و صفوف ، و من الممكن أيضا ربط هذه الجداول بعلاقات ؛ لربط البيانات بمختلف الجداول ببعض.
نبذه عن الإستعلامات Queries:
ممكن تبسيط مفهوم Query او الإستعلام ، و التفكير انه عبارة عن سؤال او طلب.
ممكن تنفيذ استعلام Query في قاعدة البيانات لمعلومة محددة ونحصل على إجابة مباشرة ، حيث اننا بعد بناء جملة SQL سنقوم بتنفيذ طلب او سؤال او استعلام بقاعدة البيانات باستخدام هذه الجملة ؛ لنحصل على رد من القاعدة البيانات بالنتائج المرغوبة.
مثال على استعلام Query:
SELECT LastName FROM Employees
عند تنفيذ هذا الإستعلام في قاعدة البيانات فانه سوف يتم تحديد العمود LastName في الجدول Employee ويتم ارجاع جميع السجلات المخزنة بهذا الجدول.
ملاحظة: يجب ان تكون لديك معرفة في بناء جمل SQL ؛ لتستطيع تنفيذ مختلف العمليات على قواعد البيانات ، حيث انه طريقة تنفيذ هذه الجمل هي واحدة في PHP ، تختلف النتيجة باختلاف الجملة المنفذة فقط ، حيث ان MySQL تدعم تنفيذ جمل SQL القياسية او مايطلق عليها standard SQL.
التعامل مع MySQL:
في PHP نستطيع التعامل مع قواعد البيانات من نوع MySQL بإستخدام:
- إضافة MySQLi
- (PDO (PHP Data Objects
ملاحظة: في نسخ PHP القديمة كنا نستخدم MySQL extension ، لكن توقف دعم هذه الإضافة تقريبا في 2012 وقل استخدامها ، في نسخ PHP الجديدة تم حذفها كليا ولن تعمل.
ماذا أستخدم MySQLi أو PDO:
كما قلنا ببداية الدرس عند التعامل مع قواعد البيانات يكون إما عن طريق MySQLi أو PDO ، تستطيع إختيار أحدهم في مشاريعك البرمجية ، ولكن دائما يكون السؤال ماذا أستخدم؟ أو ماهي أفضل طريقة للتعامل مع قواعد البيانات؟
يمكن تلخيص بعض المميزات والعيوب في القائمة التالية:
- دائما إستخدم مايناسبك ويناسب مشاريعك
- إذا كان مشروعك يعتمد فقط على قاعدة البيانات من نوع MySQL إستخدم MySQLi.
- إذا كنت تخطط في المستقبل تغيير نوع قاعدة البيانات من MySQL إلى اي نوع آخر إستخدم PDO.
- PDO تدعم حوالي 12 نوع من قواعد البيانات بينما MySQLi تدعم فقط قواعد البيانات من نوع MySQL.
- MySQLi و PDO جميعهم object-oriented ، ولكن MySQLi تدعم procedural API.
- MySQLi و PDO جميعهم يدعمون تجهيز البيانات Prepared Statements وهي مهمة في حماية قواعد البيانات من خطر SQL injection.
أنواع الأمثلة:
بمجميع دروس هذه السلسة سوف نستخدم 3 طرق لكيفية التعامل مع MySQL بواسطة PHP كالتالي:
- (MySQLi (object-oriented
- (MySQLi (procedural
- PDO
كما قلنا سابقا ان MySQLi و PDO تدعم البرمجة الكائنية object-oriented ، بحيث اننا سوف نستخدم كلاسات classes للتعامل مع قواعد البيانات ، و هي الأفضل ، و لكن MySQLi تدعم ايضا البرمجة الإجرائية procedural programming ، و هو اسلوب البرمجة القديم في PHP حيث نستخدم الدوال functions مباشرة لتنفيذ مانريد في مشاريعنا ، للتعرف أكثر على البرمجة الكائنية في PHP يمكنك الإستفادة من هذه السلسلة .