2013-05-29 42 views
-4

我試圖理解和閱讀PDO。PDO更新查詢安全嗎?

我剛纔寫了下面的文章,它工作正常,但我想知道它是否安全,因爲我不逃避任何變量,它仍然是我逃避這些要求?

// Get Post Variables 
$first_name = $_POST['first_name']; 
$surname = $_POST['surname']; 
$email_addr = $_POST['email_addr']; 
$user_type = $_POST['user_type']; 


// query 
$sql = "UPDATE users 
    SET first_name=?, surname=?, email_addr=?, user_age=?, user_type=? 
    WHERE user_id=?"; 
$q = $conn->prepare($sql); 
$q->execute(array($first_name,$surname,$email_addr,$user_age,$user_type,$uid)); 

回答

5

轉義變量不需要在prepare()聲明,因爲它的使用這些語句的原因之一,如documentation表示:

調用PDO ::準備()和PDOStatement對象: :execute()(...)通過不需要手動引用參數來幫助防止SQL注入攻擊。