У меня возникла проблема с моим запросом обновления, когда пользователи запрашивают сброс пароля.PHP MySQL Update Query не выполняется
Он просто ничего не делает, это действительно показывает, что пароль был сброшен в соответствии с оповещения команды, но база данных не отражает обновление ...
Любая помощь будет велика, как я не могу видеть, где я буду неправильно ...
if(isset($_GET["acc"]) && isset($_GET["np"])){
$acc=decrypt(htmlspecialchars($_GET["acc"]));
$np=decrypt(htmlspecialchars($_GET["np"]));
//var_dump($acc);
//var_dump($np);
$query="UPDATE `master_profile` SET `password`=? where `email_address`=?";
if ($stmt = $connection_link->prepare($query)){
// Bind the variables to the parameter as strings.
$stmt->bind_param("ss",$np,$acc);
// Execute the statement.
if($stmt->execute()){
?>
<script>
alert('Your password has been reset. Please login with your new password.');
</script>
<?
//echo "Updated {$stmt->affected_rows} rows";
}else{
echo '<h1>An Error Has Occoured. Please try again later.</h1>';
}
if ($stmt->errno) {
echo "FAILURE!!! " . $stmt->error;
}
// Close the prepared statement.
$stmt->close();
}
}
Update
Изменено if($stmt->execute(array($np,$acc))){}
как предложено ниже, но это просто дает мне ошибку An Error Has Occoured. Please try again later.
, Как я могу поймать т его ошибка и сообщить о правильной ошибке?
Я пробовал $stmt->error;
и $connection_link->error;
, но оба просто дали пустое значение.
Когда я обновить его, как вы предложили, я получаю ошибку из выражения else. Ошибка. Повторите попытку позже. ' – Marcel
Попробуйте удалить обратные тики – silversunhunter
Я не уверен, что вы имеете в виду, в настоящее время код выполнения выглядит так: if ($ stmt-> execute (array ($ np, $ acc))) {}' на какие обратные тики вы имеете в виду? – Marcel