วันนี้เรามารู้จักข้อแตกต่างของการเชื่อต่อฐานข้อมูล แบบเก่าใช้ mysql แบบใหม่เป็น PDO แล้วมีคำถามตามมาว่าแล้วมันแตกต่างหรือดีกว่ากันยังๆ ไง ??
- PDO เร็วกว่า ปลอกภัยกวา อ่านโค้ดง่ายกว่า และเปลี่ยนฐานข้อมูลได้ง่ายกว่า
- PDO สนับสนุน OOP
- PDO สามารถป้องกัน SQL injection ได้
- PHP Framework ส่วนใหญ่ใช้ PDO
จากด้านบนจะเห็นว่า PDO ดีกว่าในหลายๆด้าน ซึ่งที่สำคัญผมมองทางด้านความปลอดภัย นะครับ เห็นควรว่าควรเปลี่ยนมาใช้เป็นแบบ PDO กันดีกว่าครับ
ทีนี้มาดูในส่วนของโค้ดกันบ้าง
การเชื่อมต่อแบบ php_mysql
$mysql = mysql_connect($host, $user, $pass); mysql_select_db($dbname);
การเชื่อมต่อแบบ PDO
$pdo = new PDO("mysql:dbname={$dbname};host={$host}", $user, $pass);
การ query ข้อมูลแบบ php_mysql
$result = mysql_query("SELECT col1, col2, col3 FROM table_name"); while($row = mysql_fetch_assoc($result)) { }
ส่วน PDO จะเป็น
$sth = $pdo->prepare("SELECT col1, col2, col3 FROM table_name"); $sth->execute(); while($row = $sth->fetch(PDO::FETCH_ASSOC)) { //Process each row here }
วันนี้เอาแบบคร่าวๆ ไปก่อนครับ วันหลังเดียวหาข้อมูลมาเพิ่มเติมให้อีก