เขียน PHP PDO ตอนที่ 3 Prepared statements
หน้าแรก PHP MySQL เกร็ดความรู้ เขียน PHP PDO ตอนที่ 3 Prepared statements
การเขียนแบบ prepared statatments จะช่วยให้ผู้เขียนโปรแกรมมั่นใจได้ว่าจะไม่มีปัญหา SQL Injection อีกต่อไป ช่วยให้เราสบายใจได้มากที่เดียว
ตัวอย่างการเขียนแบบ Prepared statements ของ pdo นั้นเขียนไม่ยากครับ แต่การทำ prepared statment นั้นจะต้องใช้กับคำสั่ง execute()
และการ prepare เราสามารถเขียนได้ 2 แบบ ดูตัวอย่างด้านล่าง
| Code |
| <?php try { // เปิดการเชื่อมต่อกับฐานข้อมูล $Conn = new PDO( 'mysql:host=localhost; dbname=test; charset=utf8', 'root', ''); // กำหนด error message $Conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); // ค่าที่รับมาจากหน้าอื่น ๆ $email = 'aa@hotmail.com'; // แบบที่ 1 $SQL = 'SELECT * FROM members WHERE email=:em'; // ใช้คำสั่ง prepare sql ของเรา $pSQL = $Conn->prepare( $SQL ); // bind ค่าตัวแปร $pSQL->bindParam(':em', $email ); // ประมวลผลคำสั่ง SQL $pSQL->execute(); while($row = $pSQL->fetch()) { print_r($row); } // หรือจะเขียนแบบนี้ก็ได้ // แบบที่ 2 $SQL = 'SELECT * FROM members WHERE email=? '; $param = array( 'aa@hotmail.com', ); // ใช้คำสั่ง prepare sql ของเรา $pSQL = $Conn->prepare( $SQL ); // ประมวลผลคำสั่ง SQL $pSQL->execute($param); } catch(PDOException $ex) { die($ex->getMessage()); } while($row = $pSQL->fetch()) { print_r($row); } ?> |
http://www.worldphp.com/blogs/5190fb20a14eb/%E0%B9%80%E0%B8%82%E0%B8%B5%E0%B8%A2%E0%B8%99-PHP-PDO-%E0%B8%95%E0%B8%AD%E0%B8%99%E0%B8%97%E0%B8%B5%E0%B9%88-3-Prepared-statements.html
ขึ้นไปด้านบน
