0Pricing
PHP Academy · درس

العبارات المُعدّة

أمّن استعلامات قاعدة البيانات باستخدام العبارات المُعدّة

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

نظرة عامة على العبارات المُحضَّرة

العبارات المُحضَّرة

مرحبًا بكم في الدرس التالي! ستتعلمون في هذا الدرس العبارات المُحضَّرة وكيف تجعل تفاعلاتكم مع قاعدة البيانات آمنة وفعالة. لنبدأ!

العبارات المُعدّة — رسم توضيحي 1

ما العبارات المُحضَّرة؟

ما العبارات المُحضَّرة؟

العبارات المُحضَّرة هي ميزة توفرها أنظمة إدارة قواعد البيانات، وتتيح لكم تنفيذ استعلامات SQL بأمان وكفاءة. وهي تفصل شيفرة SQL عن البيانات، مما يمنع هجمات حقن SQL.

مثال: استخدام العناصر النائبة (:name، :email) بدلًا من تضمين مدخلات المستخدم مباشرةً في الاستعلام.

لماذا نستخدم العبارات المُحضَّرة؟

لماذا نستخدم العبارات المُحضَّرة؟

توفر العبارات المُحضَّرة عدة فوائد:

  • الأمان: تمنع حقن SQL من خلال تهريب مدخلات المستخدم.
  • الكفاءة: تتيح إعادة استخدام العبارة نفسها مع بيانات مختلفة، مما يقلل الوقت اللازم لتحليل الاستعلام.
  • سهولة الصيانة: تجعل شيفرتكم أسهل في القراءة وتصحيح الأخطاء.

نقطة مهمة: استخدموا دائمًا العبارات المُحضَّرة عند التعامل مع البيانات التي يقدمها المستخدم.

إنشاء عبارة مُحضَّرة

إنشاء عبارة مُحضَّرة

لإنشاء عبارة مُحضَّرة، اتبعوا الخطوات التالية:

  1. اكتبوا استعلام SQL باستخدام عناصر نائبة.
  2. حضِّروا الاستعلام باستخدام اتصال قاعدة البيانات.
  3. اربطوا القيم بالعناصر النائبة.
  4. نفِّذوا العبارة.

مثال:

نصيحة: استخدموا المصفوفات الترابطية لربط القيم بسهولة.

<?php
  $sql = "INSERT INTO users (name, email) VALUES (:name, :email)";
  $stmt = $pdo->prepare($sql);
  $stmt->execute(["name" => "Alice", "email" => "alice@mail.com"]);
?>

ربط القيم

ربط القيم

استخدموا الطريقتين bindParam() أو bindValue() لربط القيم بالعناصر النائبة. مثال:

<?php
  $stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (:name, :email)");
  $stmt->bindParam(":name", $name);
  $stmt->bindParam(":email", $email);

  $name = "Bob";
  $email = "bob@mail.com";
  $stmt->execute();
?>

استخدام العبارات المُحضَّرة لاستعلامات SELECT

استخدام العبارات المُحضَّرة لاستعلامات SELECT

تعمل العبارات المُحضَّرة مع جميع أنواع استعلامات SQL، بما في ذلك SELECT. مثال:

نصيحة: استخدموا fetchAll() لاسترداد صفوف متعددة.

<?php
  $sql = "SELECT * FROM users WHERE name = :name";
  $stmt = $pdo->prepare($sql);
  $stmt->execute(["name" => "Alice"]);
  $result = $stmt->fetch(PDO::FETCH_ASSOC);

  echo "Name: " . $result["name"] . ", Email: " . $result["email"];
?>

إعادة استخدام العبارات المُحضَّرة

إعادة استخدام العبارات المُحضَّرة

يمكن إعادة استخدام العبارات المُحضَّرة مع قيم مختلفة، مما يحسن الكفاءة. مثال:

<?php
  $stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (:name, :email)");

  $users = [
    ["name" => "Charlie", "email" => "charlie@mail.com"],
    ["name" => "Dave", "email" => "dave@mail.com"]
  ];

  foreach ($users as $user) {
    $stmt->execute($user);
  }

  echo "Multiple records inserted successfully!";
?>

منع حقن SQL

منع حقن SQL

تقوم العبارات المُحضَّرة بتهريب الأحرف الخاصة في مدخلات المستخدم، مما يمنع هجمات حقن SQL. مثال:

<?php
  $sql = "SELECT * FROM users WHERE email = :email";
  $stmt = $pdo->prepare($sql);
  $stmt->execute(["email" => "' OR 1=1; --"]);
  $result = $stmt->fetch();

  if ($result) {
    echo "User found.";
  } else {
    echo "No user found.";
  }
?>

أحسنتم!

أحسنتم!

تهانينا! لقد تعلمتم كيفية استخدام العبارات المُحضَّرة في PHP لتأمين تفاعلاتكم مع قاعدة البيانات. في الدرس التالي، سنستكشف تقنيات متقدمة للاستعلام باستخدام JOINs وعمليات التجميع. فلنواصل البرمجة!

العبارات المُعدّة — رسم توضيحي 10

الأسئلة الشائعة

هل درس «العبارات المُعدّة» مجاني؟

نعم — نص درس «العبارات المُعدّة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة PHP Academy، انتقل إلى CoddyKit PRO. تتضمن دورة PHP Academy 6 دروس في المجموع.

ماذا ستتعلم في «العبارات المُعدّة»؟

أمّن استعلامات قاعدة البيانات باستخدام العبارات المُعدّة تتمرن على PHP Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ PHP Academy؟

لا تُشترط خبرة سابقة. PHP Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 5 من أصل 6.

كم من الوقت يستغرق درس «العبارات المُعدّة»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس PHP Academy هذا؟

نعم. كل درس في PHP Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. مقدمة إلى قواعد البيانات
  2. الاتصال بقاعدة بيانات MySQL
  3. إدارة الجداول
  4. تنفيذ عمليات CRUD
  5. العبارات المُعدّة
  6. العمل مع PDO
← العودة إلى PHP Academy