バインディングパラメータにはまだ問題があります。バインドパラメータが原因でfetch_assoc()でエラーが発生する
私は単純なパスワードハッシュチェックを作成しましたが、今はSQLインジェクションを防ぐために限定されたパラメータでそれをしようとしています。
$sql = "SELECT * FROM users WHERE Email='{$_POST['Email']}'";
$result = mysqli_query($db,$sql);
$row = mysqli_fetch_assoc($result);
$hash_pwd = $row['Password'];
$hash = password_verify($_POST['Password'], $hash_pwd);
そしてここでは、結合パラメータで私の試みである:ここで
は働く元である
$result = $db->prepare("SELECT * FROM users WHERE Email= ?");
$result->bind_param("s", $_POST['Email']);
$result->execute();
$result->store_result();
$row = $result->fetch_assoc();
$hash_pwd = $row['Password'];
//hash checks password
$hash = password_verify($_POST['Password'], $hash_pwd);
後者のリターンは、 "未定義のメソッドmysqli_stmtに呼び出し:: FETCH_ASSOC()"
あなたが準備された文で、 'FETCH_ASSOCを()'を使用することはできません。
fetch_assoc
はmysqli_result
クラスのメソッドです。 'bind_result()'を使う必要があります。 – Barmar