2014-09-05 32 views
-1

我想用php做一個簡單的登錄腳本,我的問題是將用戶的密碼從數據庫中拿出來與已經輸入的內容進行比較的部分。在mysql中使用mysql結果字符串

現在我的代碼不會比較,但回顯密碼,以便我可以在繼續之前看到它的工作,但是...我無法獲取密碼,我的SQL查詢工作正常,在phpmyadmin中嘗試過。但回聲沒有顯示任何東西!我沒有明白。

$account = $_POST['account']; 
$password = $_POST['password']; 
$con=mysqli_connect($mysql_host,$mysql_user,$mysql_password,$mysql_database); 
if (mysqli_connect_errno()) { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 
else { 
$query = "SELECT password FROM account WHERE login = '$account'"; 
$result = mysqli_query($con, $query); 
$pass = $row['password']; 
echo "$pass"; 
} 
+0

你在'$ result = mysqli_query($ con,$ query);'和'$ pass = $ row ['password'];''之間缺少一行。提示:這是'$ row'設置的方式。附:此代碼不安全。您應該切換到MySQLi(或PDO)並準備好語句。 – 2014-09-05 21:21:25

回答

2

你忘了真正抓取您的查詢的結果:

$result = mysqli_query($con, $query); 
$row = mysqli_fetch_assoc($result); // you forgot this 

超過它,你就容易sql injection attacks