เขียน 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

ขึ้นไปด้านบน