PDO::prepare — เตรียมคำสั่ง SQL สำหรับการดำเนินการและส่งกลับวัตถุ PDOStatement (PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
PDOStatement สาธารณะ PDO::prepare ( สตริง $statement [, array $driver_options = array() ] )
เตรียมคำสั่ง SQL ที่จะรันสำหรับเมธอด PDOStatement::execute() คำสั่ง SQL สามารถมีเครื่องหมายพารามิเตอร์ที่มีชื่อเป็นศูนย์หรือมากกว่า (:name) หรือเครื่องหมายคำถาม (?) พารามิเตอร์จะถูกแทนที่เมื่อ SQL ถูกดำเนินการ
คุณไม่สามารถใส่ทั้งเครื่องหมายพารามิเตอร์ที่มีชื่อ (:name) หรือเครื่องหมายคำถาม (?) ในคำสั่ง SQL คุณสามารถเลือกได้เพียงรูปแบบใดรูปแบบหนึ่งเท่านั้น
พารามิเตอร์ในคำสั่ง SQL ที่เตรียมไว้จะส่งผ่านพารามิเตอร์จริงเมื่อใช้เมธอด PDOStatement::execute()
คำสั่ง เป็นคำสั่ง SQL ทางกฎหมาย
driver_options อาร์เรย์นี้มีคู่คีย์=>ค่าตั้งแต่หนึ่งคู่ขึ้นไปเพื่อตั้งค่าคุณสมบัติของวัตถุ PDOStatement การใช้งานที่พบบ่อยที่สุดคือการตั้งค่า PDO::ATTR_CURSOR เป็น PDO::CURSOR_SCROLL เพื่อขอเคอร์เซอร์แบบเลื่อนได้
หากสำเร็จ PDO::prepare() จะส่งกลับวัตถุ PDOStatement หากล้มเหลวก็จะส่งกลับ FALSE หรือส่ง PDOException
<?php/* ส่งค่าไปยังคำสั่งที่เตรียมไว้ผ่านค่าอาร์เรย์*/$sql = 'เลือกชื่อ, สี, แคลอรี่จากผลไม้ โดยที่แคลอรี่ < :แคลอรี่ AND color = :color';$sth = $dbh->prepare( $ sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));$sth->execute(array(':แคลอรี่' => 150, ':สี' => 'สีแดง'));$red = $sth->fetchAll();$sth->execute(array(':แคลอรี่' => 175, ':สี' => 'สีเหลือง' ));$สีเหลือง = $sth->fetchAll();?>
<?php/* ส่งค่าไปยังคำสั่งที่เตรียมไว้ผ่านค่าอาร์เรย์*/$sth = $dbh->prepare('เลือกชื่อ, สี, แคลอรี่จากผลไม้ WHERE แคลอรี่ < ? AND color = ?');$sth-> ดำเนินการ (array(150, 'red'));$red = $sth->fetchAll();$sth->execute(array(175, 'สีเหลือง'));$สีเหลือง = $sth->fetchAll();?>