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

Positional Question Mark Bindings معاملات الاستفهام الموضعية في PDO

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

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

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

تستخدم المعاملات الموضعية (Positional Placeholders) علامة الاستفهام (?) داخل جملة SQL، وتُربط قيمها بتمرير مصفوفة متسلسلة إلى الدالة $stmt->execute([...]):

  • صياغة مختصرة وسريعة: مناسبة جداً للاستعلامات القصيرة التي تحتوي على معامل واحد أو معاملين.
  • التطابق الصارم في العدد والترتيب: يجب أن يتطابق عدد عناصر المصفوفة الممررة وترتيبها مع علامات الاستفهام في الاستعلام تماماً.
مخطط تدفق التنفيذ العملي لقسم معاملات الاستفهام الموضعية في PDO في لغة PHP
PHP
<?php
$pdo = new PDO("sqlite::memory:");
$pdo->exec("CREATE TABLE tasks (title TEXT, done INTEGER)");

$stmt = $pdo->prepare("INSERT INTO tasks (title, done) VALUES (?, ?)");
$stmt->execute(["Deploy PHP 8.4", 1]);
$stmt->execute(["Run PDO Audit", 0]);
echo "2 tasks inserted.";