0

フォーラムや投稿を確認しましたが、ここで何が間違っているのか理解できないようです。

影響を受ける行を取得するために最初に$mysqli->num_rowsを試しましたが、どうやらそれはSELECTステートメントでのみ機能するようです。残念ながら、..->affected_rowsも毎回0を返すようです。何が問題ですか?

$key = $email . $password . $mysqli->mysqli_salt;
$update_password = "UPDATE `users` SET `password`=SHA1(?) WHERE `surname`=? AND `lastname`=? AND `email`=?";
$stmt_update = $mysqli->prepare($update_password);
$stmt_update->bind_param("ssss", $key, $surname, $lastname, $email);
$stmt_update->execute();
$rows = $stmt_update->affected_rows; //i've also tried '$mysqli->affected_rows;
if ($rows != 1) {
   echo 'error';
}
$stmt_update->close();

ありがとう!

4

1 に答える 1

3

パスワードを同じ値ではなく、別の値に何度も設定してみてください。パスワードが変更されない場合、行は更新されたものとしてカウントされません。

于 2013-01-28T10:42:31.087 に答える