العمل مع PDO
استخدم PHP Data Objects (PDO) للتفاعل مع قواعد البيانات
العمل مع PDO درس مجاني في PHP Academy على CoddyKit. هذا هو الدرس 6 من أصل 6. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في PHP Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة PHP Academy 6 دروس في المجموع.
نظرة عامة على PDO
العمل باستخدام PDO
مرحبًا بكم في الدرس التالي! ستتعلمون في هذا الدرس كيفية استخدام PDO (PHP Data Objects) للتفاعل مع قاعدة البيانات. يُعد PDO طريقة مرنة وآمنة للاتصال بقواعد البيانات والعمل معها. لنبدأ!

ما PDO؟
إن PDO (PHP Data Objects) طبقة للوصول إلى قاعدة البيانات، وتوفر واجهة موحدة للعمل مع أنظمة قواعد بيانات مختلفة. وهي تدعم مجموعة متنوعة من قواعد البيانات، مثل MySQL وPostgreSQL وSQLite وغيرها.
الميزات الرئيسية:
- الاستقلالية عن قاعدة البيانات (تعمل مع أنواع متعددة من قواعد البيانات).
- دعم مدمج للعبارات المُحضَّرة.
- خيارات متقدمة لمعالجة الأخطاء.
نصيحة: يُعد PDO خيارًا رائعًا لبناء تطبيقات ويب آمنة وقابلة للتوسع.
الاتصال بقاعدة بيانات باستخدام PDO
للاتصال بقاعدة بيانات باستخدام PDO، تحتاجون إلى:
- اسم مصدر البيانات (DSN)، بما في ذلك نوع قاعدة البيانات والمضيف والاسم.
- اسم مستخدم وكلمة مرور صالحين.
مثال:
نصيحة: استخدموا متغيرات البيئة أو ملفات الإعدادات لتخزين بيانات الاعتماد الحساسة.
<?php
$dsn = "mysql:host=localhost;dbname=testdb";
$username = "root";
$password = "";
try {
$pdo = new PDO($dsn, $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully!";
} catch (PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
?>
تنفيذ الاستعلامات
يوفر PDO طريقتين رئيسيتين لتنفيذ الاستعلامات:
exec(): للعبارات التي لا تعيد نتائج، مثلINSERTوUPDATE.query(): للعبارات التي تعيد نتائج، مثلSELECT.
مثال:
<?php
// Insert a record
$pdo->exec("INSERT INTO users (name, email) VALUES ('Alice', 'alice@mail.com')");
// Retrieve records
$stmt = $pdo->query("SELECT * FROM users");
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo "Name: " . $row["name"] . ", Email: " . $row["email"] . "<br>";
}
?>
استخدام العبارات المُحضَّرة
تُعد العبارات المُحضَّرة أساسية للتفاعل الآمن والفعال مع قاعدة البيانات. مثال:
نصيحة: استخدموا العناصر النائبة (:email) لمنع حقن SQL.
<?php
$sql = "SELECT * FROM users WHERE email = :email";
$stmt = $pdo->prepare($sql);
$stmt->execute(["email" => "alice@mail.com"]);
$user = $stmt->fetch(PDO::FETCH_ASSOC);
echo "Name: " . $user["name"];
?>
معالجة الأخطاء في PDO
يدعم PDO ثلاثة أوضاع لمعالجة الأخطاء:
ERRMODE_SILENT: يجب التحقق من الأخطاء يدويًا.ERRMODE_WARNING: تؤدي الأخطاء إلى إصدار تحذيرات PHP.ERRMODE_EXCEPTION: تؤدي الأخطاء إلى طرح استثناءات (وهو الوضع الموصى به).
مثال:
<?php
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try {
$pdo->exec("INVALID SQL STATEMENT");
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
?>
جلب البيانات
يوفر PDO عدة طرق لجلب البيانات:
fetch(): تسترد صفًا واحدًا.fetchAll(): تسترد جميع الصفوف.fetchColumn(): تسترد قيمة عمود واحد.
مثال:
<?php
$stmt = $pdo->query("SELECT name FROM users");
while ($name = $stmt->fetchColumn()) {
echo "User: " . $name . "<br>";
}
?>إدارة المعاملات
استخدموا المعاملات لتنفيذ عدة استعلامات كوحدة واحدة. مثال:
نصيحة: استخدموا المعاملات لضمان سلامة البيانات.
<?php
try {
$pdo->beginTransaction();
$pdo->exec("INSERT INTO users (name, email) VALUES ('Bob', 'bob@mail.com')");
$pdo->exec("INSERT INTO users (name, email) VALUES ('Charlie', 'charlie@mail.com')");
$pdo->commit();
echo "Transaction successful!";
} catch (PDOException $e) {
$pdo->rollBack();
echo "Transaction failed: " . $e->getMessage();
}
?>
أحسنتم!
تهانينا! لقد تعلمتم كيفية استخدام PDO للتفاعل الآمن والفعال مع قاعدة البيانات، بما في ذلك الاتصال بها وتنفيذ الاستعلامات وإدارة المعاملات. في الدرس التالي، سنستكشف تقنيات متقدمة للاستعلام باستخدام SQL مع PDO. فلنواصل البرمجة!

تعلم PHP مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 49
- الدروس
- 195
الأسئلة الشائعة
هل درس «العمل مع PDO» مجاني؟
نعم — نص درس «العمل مع PDO» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة PHP Academy، انتقل إلى CoddyKit PRO. تتضمن دورة PHP Academy 6 دروس في المجموع.
ماذا ستتعلم في «العمل مع PDO»؟
استخدم PHP Data Objects (PDO) للتفاعل مع قواعد البيانات تتمرن على PHP Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ PHP Academy؟
لا تُشترط خبرة سابقة. PHP Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 6 من أصل 6.
كم من الوقت يستغرق درس «العمل مع PDO»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس PHP Academy هذا؟
نعم. كل درس في PHP Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- مقدمة إلى قواعد البيانات
- الاتصال بقاعدة بيانات MySQL
- إدارة الجداول
- تنفيذ عمليات CRUD
- العبارات المُعدّة
- العمل مع PDO