PHP PDO คืออะไร

wave

PHP PDO คืออะไร

มานพ กองอุ่น 21 ต.ค. 2014, 9:25:52 16,677

PHP PDO คืออะไรวันนี้มีคำตอบนะครับ PDO คือ Extension หรือส่วนเสริมของ PHP ย่อมาจากคำว่า PHP DataObject ซึ่งเป็น Object ที่ใช้ในการเชื่อมต่อกับฐานข้อมูลได้หลากหลายโดยที่เราไม่ต้องมานั่งเรียนรู้การใช้งานฐานข้อมูลแต่ล่ะฐาน ที่สำคัญคือใช้คำสั่งเดียวสามารถทำงานได้กับฐานข้อมูลหลายๆ แบบได้นั่นเอง เช่นคำสั่งเรียกข้อมูล $obj->fetch() หากมีการเปลี่ยนฐานข้อมูลก็ยังใช้คำสั่งเดิมไม่ได้เปลี่ยน จึงทำให้ PDO มีความยืดหยุ่นและสะดวกมากยิ่งขึ้น

PHP เวอร์ชั่น 5.5 ขึ้นไปได้ยกเลิกการเชื่อมต่อ MySQL แบบเดิมแล้วคือการใช้ Function mysql_connect() และ mysql_xxxx() ทั้งหลาย แต่จะไปใช้ MySQLi หรือ MySQL Improved แทนซึ่งมีความปลอดภัยมากกว่า

แต่อย่างไรก็ตามผมคิดว่าเราควรมาเริ่มใช้งาน PDO มากกว่า เนื่องจากการทำงานเป็นลักษณะ Object ซึ่ง PHP ก็รองรับการเขียนโปรแกรมแบบ Object มากยิ่งขึ้น และนอกจากนั้นจำทำให้เราพัฒนาตัวเองให้สามารถเขียนโปรแกรมในระดับที่สูงขึ้นได้เช่นกัน

ตัวอย่างการใช้งาน

# การติดต่อฐานข้อมูล

$dbhost = 'localhost';
$dbuser='root';
$dbpass='';
$pdo = new PDO("mysql:dbname={$dbname};host=($dbhost}", $dbuser, $dbpass);

# การคิวรี่ข้อมูล

$result = $pdo->prepare("SELECT * FROM table_name");
$result->execute();
while($rs = $result->fetch()){
    echo $rs['field_name'];
}

# การเรียกข้อมูล 1 แถว

$sql = "SELECT * FROM table WHERE field_name = :field_param";
$result = $pdo->prepare($sql);
$result->execute(array(':field_param'=>$_GET['param']));

การทำการ bind param นั้นเป็นการแทนที่ :field_param ด้วย ค่าที่ $_GET['param'] จาก URL ทำให้มีความปลอดภัยเรื่อง SQL Injection มากยิ่งขึ้น

# การเพิ่มข้อมูล

$sql = "INSERT INTO table_name('field1','field2') VALUES(:f1_param,:f2_param)";
$result = $pdo->prepare($sql);
$result->execute(array(
    ':f1_param'=>$_POST['param1'],
    'f2_param'=>$_POST['param2']
));

เพื่อความเข้าใจเพิ่มเติมสามารถลงทะเบียนเรียนหลักสูตร PHP PDO ได้จาก หลักสูตร PHP

ความคิดเห็น