انتقل إلى محتوى الدرس

Named Placeholders with execute المعاملات المسماة وتنفيذ الاستعلام

تعلّم الاستعلامات المحضرة وإدراج البيانات بأمان ضد SQL Injection في PHP بأسلوب PHP 8 الحديث مع أمثلة عملية وتطبيقات تفاعلية.
1 صفوف تعليمية
PHP
5 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

تُكتب المعاملات المسماة (Named Placeholders) بوضع نقطتين رأسيتين قبل اسم وصفي داخل جملة SQL (مثل :title و:price)، ثم تُمرر قيمها في مصفوفة ترابطية داخل الدالة $stmt->execute([...]):

  • وضوح القراءة والصيانة: تُعد الخيار الأفضل في استعلامات الإدراج والتحديث التي تضم عدة أعمدة لأن كل مفتاح يوضح اسم الحقل المرتبط به.
  • عدم التقيد بالترتيب: يطابق PDO المفاتيح بالاسم، ولا يشترط كتابة النقطتين الرأسيتين في مفاتيح مصفوفة execute ("title" => $val).
PHP
<?php
$pdo = new PDO("sqlite::memory:");
$pdo->exec("CREATE TABLE products (title TEXT, price REAL)");

$stmt = $pdo->prepare(
    "INSERT INTO products (title, price) VALUES (:title, :price)"
);
$stmt->execute([
    "title" => "Mechanical Keyboard",
    "price" => 129.99,
]);
echo "Product inserted.";