3 Method ใน PDO ที่ควรทำความเข้าใจก่อนการเขียนโปรแกรม โดยทั่วไปแล้วการทำงานกับฐานข้อมูลเราจะใช้ Method ไม่กี่ Method ในการทำงาน ในที่นี้มี Method ที่สำคัญอยู่ 3 Method ดังนี้
PDO::prepare()
เป็น method ในการเตรียมคำสั่งที่จะใช้ประมวลผล และจะส่งค่ากลับ (return) เป็น Object PDOStatement
public PDOStatement PDO::prepare ( string $statement [, array $driver_options = array() ] )
statement คือ คำสั่ง SQL ที่สามารถทำงานร่วมกับ Database Server ที่เชื่อมต่อ
driver_options คือ array key=>value สำหรับ PDOStatement เช่น PDO::ATTR_CURSOR
การ return ค่า
หากสามารถ prepare คำสั่ง statement PDO::prepare() จะ return PDOStatement object
หากไม่สามารถ parepare คำสั่ง statement PDO::prepare() จะ return FALSE
ในคำสั่ง $statement นั้นจะมี parameter marker เช่น 0, :name และ ? โดยที่ :name เป็นค่าที่ไม่ซ้ำกันเพื่อส่งให้ execute() ทำการ pass ค่า ทั้งนี้เพื่อป้องกัน SQL Injection อีกด้วย
ตัวอย่าง $statement
SELECT * FROM product WHERE id=:id
PDOStatement::execute()
เป็น method ในการประมวลผลคำสั่ง $statement ที่ได้ทำการ prepare() แล้ว
public bool PDOStatement::execute ([ array $input_parameters ] )
input_parameters คือ array ค่าต่างๆ ที่จะนำไปผูกกับ parameter ใน $statement หรือ คำสั่ง SQL
การ return ค่า
หากประมวลผลได้จะ return TRUE และ FALSE หากประมวลผลไม่ได้
PDOStatement::fetch()
เป็น method ในการดึงข้อมูลของแถวในฐานข้อมูล โดยมีรูปแบบดังนี้
public mixed PDOStatement::fetch ([ int $fetch_style [, int $cursor_orientation = PDO::FETCH_ORI_NEXT [, int $cursor_offset = 0 ]]] )
fetch_style คือ รูปแบบของการดึงข้อมูลซึ่งมีหลายรูปแบบ
PDO::FETCH_ASSOC ส่งค่ากลับ array index โดยใช้ชื่อ column ในตาราง
PDO::FETCH_BOTH (ค่าเริ่มต้น) ส่งค่ากลับทั้ง array index ของชื่อ column และ ลับดับของ column โดยเริ่มจาก 0
PDO::FETCH_BOUND ส่งค่ากลับเป็น TRUE หากมีการใช้งานการผูกตัวแปรใน php ผ่าน PDOStatement::bindColumn()
PDO::FETCH_CLASS ส่งค่ากลับเป็น instance โดยเป็นการ mapping column ให้เป็นชื่อ property ใน class
PDO::FETCH_INTO เป็นการ update instance ที่มีอยู่แล้ว โดยเป็นการ mapping column ให้เป็นชื่อ property ใน class
PDO::FETCH_LAZY
PDO::FETCH_NAMED ส่งค่ากลับคล้ายกับ ASSOSC แต่จะเพิ่มคุณสมบัติคือหากมีชื่อ column ที่เหมือนกันจะสร้างเป็น array set เพิ่มขึ้นมาให้
PDO::FETCH_NUM ส่งค่ากลับ array index เป็นลำดับของ column โดยเริ่มจาก 0
PDO::FETCH_OBJ ส่งค่ากลับเป็น anonymous object
cursor_orientation คือ
offset คือ
การ return ค่า
จะ return ค่าตาม fetch type ที่กำหนด และ FALSE หากมีข้อผิดพลาด
ความคิดเห็น