PDO::exec — ดำเนินการคำสั่ง SQL และส่งคืนจำนวนแถวที่ได้รับผลกระทบ (PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
int PDO::exec ( สตริง $statement )
PDO::exec() ดำเนินการคำสั่ง SQL ในการเรียกใช้ฟังก์ชันเดียว โดยส่งคืนจำนวนแถวที่ได้รับผลกระทบจากคำสั่งนั้น
PDO::exec() ไม่ส่งคืนผลลัพธ์จากคำสั่ง SELECT สำหรับคำสั่ง SELECT ที่จำเป็นต้องออกเพียงครั้งเดียวในโปรแกรม ให้ลองใช้ PDO::query()
คำสั่ง : คำสั่ง SQL ที่จะจัดเตรียมและดำเนินการ
PDO::exec() ส่งกลับจำนวนแถวที่ได้รับผลกระทบจากการแก้ไขหรือลบคำสั่ง SQL หากไม่มีแถวที่ได้รับผลกระทบ PDO::exec() จะส่งกลับ 0
ตัวอย่างต่อไปนี้อาศัยค่าที่ส่งคืนของ PDO::exec() อย่างไม่ถูกต้อง โดยที่คำสั่งที่มี 0 แถวที่ได้รับผลกระทบจะทำให้ die() ถูกเรียก:
<?php$db->exec() หรือ die(print_r($db->errorInfo(), true));?>
นับจำนวนแถวที่ถูกลบโดยคำสั่ง DELETE โดยไม่มีส่วนคำสั่ง WHERE
<?php$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');/* ลบแถวทั้งหมดที่ตรงตามเงื่อนไขในตารางข้อมูล FRUIT */$count = $dbh->exec(" ลบจากผลไม้ WHERE color = 'red'");/* คืนจำนวนแถวที่ถูกลบ*/print("Deleted $count rows.n");?>
รูทีนข้างต้นจะส่งออก:
ลบแล้ว 1 แถว