در این قسمت ، میخواهیم به  Placeholder های اسمی و موقعیتی  (Positional and Named Placeholder) بپردازیم.
Placeholder های موقعیتی

این پرس و جو را ببینید.

$title = ‘PHP%’;‎

‎$author = ‘Bobi%’;‎

‎// query‎

‎$sql = “SELECT * FROM books WHERE title like ? AND author like ? “;‎

‎$q = $conn->prepare($sql);‎

‎$q->execute(array($title,$author));

پرس و جوی بالا برای مشخص کردن محل مقادیر دستور آماده را با علامت ? مشخص کرده است. این علامت سوال ها placeholder موقعیتی نامیده می شوند. هنگام ارسال پارامتر ها به تابع execut() باید مواظب ترتیب آنها در آرایه ارسالی باشیم.

Placeholder های اسمی

این مثال را ببینید.

‎‎$title = ‘PHP%’;‎

‎$author = ‘Bobi%’;‎

‎// query‎

‎$sql = “SELECT * FROM books WHERE title like :title AND author like :author “;‎

‎$q = $conn->prepare($sql);‎

‎$q->execute(array(‘:author’=>$author, ‘:title’=>$title));‎

در اینجا به جای علامت سوال از دو نقطه به همراه یک اسم استفاده کرده ایم. موقعیت پارامتر های ارسالی مهم نیست. برای همین به آن Placeholder   اسمی می گویند.