شرح صفوف ومحتوى الفقرة
تُكتب المعاملات المسماة (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.";