2
我有麻煩得到這個工作我認爲我的錯誤是在準備語句的語法,但我嘗試了幾種不同的方法,沒有運氣。我懷疑錯誤是在準備好的聲明中的原因是因爲它將在頁面上echo Not a Match
如果變量不匹配,但當它們匹配時,它只會給我一個沒有錯誤的空白頁面。這裏是我的代碼,也許有人可以發現錯誤,同時我會繼續嘗試不同的方法。PDO編寫的函數問題
function setPass($conn, $userCurrent, $oldPass, $newPass, $verPass)
{
$stmt= $conn->prepare('SELECT `password` FROM `CLL_users` WHERE `user_name`=:userCurrent');
$stmt->execute(array(':userCurrent' => $userCurrent));
while ($pass = $stmt->fetch()){
$oldDbPass = $pass['password'];
}
$new_pass = md5($newPass);
if (md5($oldPass) == ($oldDbPass) && ($newPass) == ($verPass)) {
try{
$stmt= $conn->prepare('UPDATE `CLL_users` SET `password`=:newPass WHERE `user_name`=:userCurrent');
$stmt->execute(array(':newpass' => $new_pass, ':userCurrent' => $userCurrent));
} catch (PDOException $e){
echo 'Connection failed: ' . $e->getMessage();
}
echo "Match";
} else {
echo "Not a Match";
}
}
我只是想你什麼建議,得到了相同的結果..好吧 – Yamaha32088
我啓用了錯誤處理,並得到這個消息'連接失敗:SQLSTATE [HY093]:無效的參數號:參數不defined' – Yamaha32088
我更新根據您的建議編寫代碼並編輯我的問題以反映更改。 – Yamaha32088