2012-12-11 24 views
-4

可能重複:
How to prevent SQL injection?通過PDO進行參數化的SELECT查詢?

我試圖找出如何做到通過PDO做一個SELECT參數化查詢,而現在我有了這個代碼:

function user_login($username, $password) { 
    $conn = connection_getConnection(); 

    $stmt = $conn->prepare("SELECT `password` FROM `users` WHERE `username` = :username"); 
    $row = $stmt-> #WHAT DO I DO HERE? 
    if (empty($row)) { 

    } 
} 

因此,我對我有點失落的一行發表了評論。請幫我從這裏出去。

謝謝!

回答

2

PHP Manual有一些很好的例子。

對於你:

function user_login($username, $password) { 
    $conn = connection_getConnection(); 

    $sql = "SELECT `password` FROM `users` WHERE `username` = :username"; 
    $stmt = $conn->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY)); 
    $query = $stmt->execute(array(':username' => $username)); 
    $rows = $query->fetchAll(); 
    if (empty($rows)) { 

    } 
} 
+0

這是否返回行的數組? –

+0

@Michael Perrenoud你應該真的檢查手冊。 – jeroen

+1

@MichaelPerrenoud:no;只是更新了我的答案。就像jeroen說的那樣,你真的**應該檢查手冊 – cegfault