即使更新查詢失敗,仍然顯示成功,我無法獲得最後2個迴應。如果任何人有任何關於此代碼的任何建議,以改善任何行,請做!顯示錯誤消息PHP Mysql
<?php
if(!empty($_POST['username']) && !empty($_POST['answer'])) {
$username = $_POST['username'];
$idfetch = mysql_query("SELECT id FROM users WHERE username ='$username'") //check it
or die(mysql_error());
$fetched = mysql_fetch_array($idfetch);
$id = $fetched['id']; //get users id for checking
$answer = $_POST['answer'];
$password = (mysql_real_escape_string($_POST['password']));
$confpass = (mysql_real_escape_string($_POST['confpass']));
if ($password != $confpass) {
echo ("Passwords do not match, please try again.");
exit;
}
$updatequery = mysql_query("UPDATE users SET PASSWORD='$password' WHERE id='$id' AND username='$username' AND answer='$answer'");
if($updatequery) {
echo "<h1>Success</h1>";
echo "<p>Your account password was successfully changed. Please <a href=\"login.php\">click here to login</a>.</p>";
}
else {
echo "<h1>Error</h1>";
echo "<p>Sorry, but a field was incorrect.</p>";
}
}
?>
在此先感謝!
請不要在新的應用程序中使用'mysql_query'。如果不使用*完全*這是非常危險的,這是一個巨大的麻煩,儘管我已經看到你至少在這裏嘗試。不過,你逃脫了三個變量中的兩個並引入了一個巨大的注入漏洞。公共互聯網上足夠接近並不夠好。至少你應該使用[PDO](http://bobby-tables.com/php),除非你有一個很好的理由,因爲當使用SQL佔位符時,這些錯誤通常是不存在的。 – tadman
感謝您的評論,我很欣賞它,我會研究這一點。我沒有看到任何東西,但我的研究生病了! – sparkones
感謝大家對我所感謝的所有評論。 – sparkones