Оператор PDO fetchall не возвращает требуемый результат

Я прочитал все другие темы PDO в stackoverflow и перепробовал все вещи, но все еще не работает, я не знаю, что случилось

на странице редактирования / изменения пароля

Я использую этот код

ob_start();
session_start();
require_once './../account/config.php';
$id = $_SESSION['id'];

if (isset($_POST["submit"])) {
$opwd = mysql_real_escape_string($_POST['oldpwd']);
$npass = mysql_real_escape_string($_POST['newpwd']);
$anpass = mysql_real_escape_string($_POST['renewpwd']);

$sql = "SELECT COUNT(*) AS count from users where id = :id";
try {
$stmt = $DB->prepare($sql);
$stmt->bindValue(":id", $id);
$stmt->execute();
$result = $stmt->fetchAll();

здесь $ result [0] [«password»] не извлекает результат из таблицы пользователи и колонка пароль

Я даже пытался $ результат [«пароль»], но не работает,
на других страницах тот же метод работает очень хорошо, но здесь результат не получается

Таким образом, даже пользователь вводит правильный старый пароль, его возвращение Неверный текущий пароль

if($result[0]["password"] !== $opwd) {
$msg = "Current Password is Incorrect";
}
elseif($npwd !== $rnpwd) {
$msg = "New Passwords did not match.";
}
elseif (($result[0]["password"] === $opwd) &&  $npwd === $rnpwd) {
$sql = "UPDATE `users` SET  (`password`, `retype`) = (:npswd , :anpwd) WHERE `id` = :id";
$stmt = $DB->prepare($sql);
$stmt->bindValue(":npswd", $npass);
$stmt->bindValue(":anpwd", $anpass);
$stmt->bindValue(":id", $id);
$stmt->execute();
$msg = "Your Password is changed successfully";
$msgType = "success";
}
else {
$msg = "Error Occured. Please Contact us if you have some issue.";
}
}
catch (Exception $ex) {
echo $ex->getMessage();
}
}

Пожалуйста, покажите мне, что мне здесь не хватает

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]