2016-06-12 40 views
-1

有人可以登錄。如果他登錄,輸入的密碼(解碼)將與右passwort(也解碼) 進行比較,但如果我做如何在變量中搜索mysql數據庫

$sql = "SELECT PasswordDecode FROM Userinformations WHERE Username = ".$Username; 
    foreach ($pdo->query($sql) as $row) { 
     $PasswordDecode = $row["Password decode"]; 
    } 

這個錯誤出現:

警告:的foreach提供了無效的參數()in ...

我不明白。如果用戶名是DumbUsername,我讓

$sql = "SELECT PasswordDecode FROM Userinformations WHERE Username = DumbUsername"; 

沒有錯誤happend和它的作品。但是如果我把用戶名寫入一個變量,它就不能工作。爲什麼?
請回答。

+0

報價'選擇PasswordDecode FROM Userinformations其中username = DumbUsername'是無效的SQL,字符串需要加引號。這也爲您打開SQL注入,使用參數化查詢,這也會照顧引用。 – chris85

回答

0

更改您的查詢,使用角落找尋可變

$sql = "SELECT PasswordDecode FROM Userinformations WHERE Username = '$Username'"; 
+0

它的作品!謝謝!!! – Korne127