العمل مع قواعد البيانات في PHP: PostgreSQL و MongoDB للمبتدئين

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

مقدمة في العمل مع قواعد البيانات في PHP



تطوير الويب الحديث لا يمكن تصوره دون إدارة فعالة للبيانات. PHP، باعتبارها واحدة من أشهر لغات البرمجة من جانب الخادم، توفر للمطورين أدوات قوية للتفاعل مع أنظمة إدارة قواعد البيانات المختلفة. في هذه المقالة، سننظر في نظامين مختلفين جوهريًا ولكن بنفس القدر من الأهمية: نظام إدارة قواعد البيانات العلائقية PostgreSQL ونظام قواعد البيانات الموجهة للمستندات MongoDB.



بالنسبة للمطورين المبتدئين، قد يبدو الاختيار بين SQL و NoSQL صعبًا. سنقوم بتحليل الاختلافات الرئيسية، ونتعلم كيفية الاتصال بكلتا قاعدتي البيانات من PHP وتنفيذ عمليات CRUD الأساسية (إنشاء، قراءة، تحديث، حذف). في نهاية المقالة، ستكون قادرًا على اختيار نظام إدارة قواعد البيانات المناسب لمشروعك وكتابة كود عملي للتفاعل معه.



1. PostgreSQL: العمل مع البيانات العلائقية عبر PDO



PostgreSQL هو نظام إدارة قواعد بيانات كائني-علائقي قوي ومفتوح المصدر. يدعم الاستعلامات المعقدة، المعاملات وأنواع البيانات الموسعة. للعمل مع PostgreSQL في PHP، يُوصى باستخدام امتداد PDO (PHP Data Objects) الذي يوفر واجهة موحدة للعمل مع قواعد البيانات المختلفة.



الاتصال بـ PostgreSQL عبر PDO



الخطوة الأولى هي تثبيت برنامج التشغيل pdo_pgsql. تأكد من تفعيله في ملف php.ini الخاص بك. بعد ذلك، يمكنك إنشاء الاتصال:



<?php$host = 'localhost';$dbname = 'my_database';$user = 'my_user';$password = 'my_password';

try { $pdo = new PDO("pgsql:host=$host;dbname=$dbname", $user, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "تم إنشاء الاتصال بـ PostgreSQL بنجاح!";} catch (PDOException $e) { die("خطأ في الاتصال: " . $e->getMessage());}?>


عمليات CRUD في PostgreSQL



لننظر في العمل مع جدول users الذي يحتوي على الحقول id و name و email. يتم تنفيذ جميع الاستعلامات من خلال العبارات المحضرة (prepared statements) للحماية من حقن SQL.



إنشاء سجل (Create):

<?php$sql = "INSERT INTO users (name, email) VALUES (:name, :email)";$stmt = $pdo->prepare($sql);$stmt->execute([':name' => 'إيفان بيتروف', ':email' => 'ivan@example.com']);echo "تمت إضافة المستخدم. المعرف: " . $pdo->lastInsertId();?>


قراءة البيانات (Read):

<?php$sql = "SELECT * FROM users WHERE id = :id";$stmt = $pdo->prepare($sql);$stmt->execute([':id' => 1]);$user = $stmt->fetch(PDO::FETCH_ASSOC);

if ($user) { echo "الاسم: " . $user['name'] . "، البريد الإلكتروني: " . $user['email'];} else { echo "المستخدم غير موجود.";}?>


التحديث (Update) والحذف (Delete):

<?php// تحديث$sql = "UPDATE users SET email = :email WHERE id = :id";$stmt = $pdo->prepare($sql);$stmt->execute([':email' => 'new_email@example.com', ':id' => 1]);echo "تم تحديث عدد الصفوف: " . $stmt->rowCount();

// حذف$sql = "DELETE FROM users WHERE id = :id";$stmt = $pdo->prepare($sql);$stmt->execute([':id' => 1]);echo "تم حذف عدد الصفوف: " . $stmt->rowCount();?>


2. MongoDB: العمل مع المستندات عبر مكتبة MongoDB PHP



MongoDB هي قاعدة بيانات NoSQL تخزن البيانات في شكل مستندات مرنة تشبه JSON. للعمل معها في PHP، يتم استخدام المكتبة الرسمية mongodb/mongodb التي يتم تثبيتها عبر Composer.



التثبيت والاتصال بـ MongoDB



أولاً، قم بتثبيت المكتبة عبر Composer:

composer require mongodb/mongodb


بعد ذلك، قم بإنشاء اتصال بخادم MongoDB (يعمل افتراضيًا على المنفذ 27017):

المدونات

توصيات الكتب