С помощью операторов SELECT вы выбираете только строки. Чтобы изменить их, вам нужно ОБНОВИТЬ. Рассмотрите использование PDO, потому что функции mysql_ * устарели. Также попробуйте хешировать свои пароли и не хранить их в виде обычного текста.
Вам нужно что-то вроде этого:
$query2 = mysql_query("UPDATE adminusr SET password = '$new_password' WHERE id = '$idToChange'");
Использование PDO
//Make the connection using PDO
try {
$conn = new PDO("mysql:host=$hostname;dbname=mysql", $username, $password);
echo "PDO connection object created";
}
catch(PDOException $e) {
echo $e->getMessage();
}
//Make your query
$sql = 'UPDATE adminusr SET password = :new_password WHERE id = :id';
$stmt = $conn->prepare($sql);
$stmt->execute(array(':new_password'=>$new_password, ':id'=>$idToChange));
EDIT отвечая на комментарий
Тогда вам нужно иметь также имя пользователя и пароль в поля формы. Итак, вам нужно четыре поля: username
, oldPassword
, newPassword
, confirmNewPassword
. Перед операцией обновления вам нужно выбрать пользователя с учетными данными username
, oldPassword
. Если вы найдете только одно, вы должны проверить соответствие newPassword
и confirmNewPassword
. Если совпадение, переходите к обновлению. В противном случае напечатайте некоторое сообщение об ошибке.
(1) Вы не собираетесь ничего менять с помощью запроса SELECT. (2) Достаточно использовать «mysql_». Он больше не поддерживается. –
$ query2 в строке 1 - ваш результирующий набор для перемещения. Строка 2 не имеет смысла. Нужно хешировать их пароли, и пароль проверяет их. И, как сказал Гордон, функции mysql * устарели. Используйте mysqli или pdo, многое из приведенного выше может быть [Видно в этой ссылке] (http://stackoverflow.com/a/32556010) – Drew
Этот код должен захватить пароль в базе данных. Предполагается, что запрос выбора должен захватить пароль из базы данных из идентификатора пользователя. В другом запросе позже я меняю пароль. – Callum