Method ของ PDO ที่ควรทำความเข้าใจก่อนการเขียนโปรแกรม

wave
มานพ กองอุ่น 7 เม.ย. 2016, 18:08:15 4,360

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 หากมีข้อผิดพลาด

 


ความคิดเห็น

หากบทเรียนรู้มีความผิดพลาดประการใด หรือมีข้อเสนอแนะกรุณาแจ้ง contact@programmerthailand.com

เขียนบทเรียนรู้ของคุณ

รายละเอียด
  • ดู 4,360
  • รักเลย 0
  • หมวดหมู่ PHP Data Object (PDO)
  • เขียนเมื่อ
  • แก้ไขเมื่อ
  • Tags php pdo
ข้อมูลผู้เขียน
มานพ กองอุ่น

มานพ กองอุ่น

เป็นสมาชิกเมื่อ: 18 ธ.ค. 2009