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

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

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

ابدأ الدورة

مقدمة: لماذا يحتاج مطور PHP إلى القدرة على العمل مع قواعد بيانات مختلفة

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



1. العمل مع PostgreSQL في PHP عبر PDO

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



1.1 الاتصال بقاعدة البيانات

في البداية، تأكد من تفعيل الإضافة pdo_pgsql في ملف php.ini الخاص بك. مثال على الاتصال:

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

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


1.2 تنفيذ الاستعلامات (CRUD)

دعنا نستعرض العمليات الأساسية باستخدام جدول users كمثال.

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

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


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

<?php$stmt = $pdo->query("SELECT id, name, email FROM users");while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {    echo "المعرف: {$row['id']}, الاسم: {$row['name']}, البريد الإلكتروني: {$row['email']}<br>";}?>


التحديث (UPDATE) والحذف (DELETE):

<?php// تحديث$sql = "UPDATE users SET email = :email WHERE id = :id";$stmt = $pdo->prepare($sql);$stmt->execute([':email' => 'newemail@example.com', ':id' => 1]);

// حذف$sql = "DELETE FROM users WHERE id = :id";$stmt = $pdo->prepare($sql);$stmt->execute([':id' => 1]);?>


2. العمل مع MongoDB في PHP

MongoDB هي قاعدة بيانات NoSQL رائدة، تخزن البيانات على شكل وثائق شبيهة بـ JSON. للعمل معها في PHP، تُستخدم الإضافة الرسمية mongodb ومكتبة MongoDB PHP Library (يتم تثبيتها عبر Composer).



2.1 التثبيت والاتصال

قم بتثبيت المكتبة عبر Composer:

composer require mongodb/mongodb

مثال على الاتصال بخادم MongoDB المحلي:

<?phprequire 'vendor/autoload.php';

$client = new MongoDB\\Client("mongodb://localhost:27017");$database = $client->selectDatabase('my_database');$collection = $database->selectCollection('users');echo "تم إنشاء الاتصال بـ MongoDB";?>


2.3 عمليات CRUD مع الوثائق

إدراج وثيقة (INSERT):

<?php$insertResult = $collection->insertOne([    'name' => 'ماريا بيتروفا',    'email' => 'maria@example.com',    'age' => 28]);echo "تمت إضافة الوثيقة بالمعرف: " . $insertResult->getInsertedId();?>


البحث عن الوثائق (SELECT):

<?php$cursor = $collection->find(['age' => ['$gte' => 25]]);                

المدونات

توصيات الكتب