開発中のアプリでユーザーの任意のログインシステムを作成し、mysqli を使用して MySQL から切り替えています。ただし、入力したデータに関係なく正常にログインできるため、歯が生える問題があります。明らかにこれは間違っており、私の fetch ステートメントと関係があると思います。コードは次のとおりです。
$sid = /* arbitrary value */
$con = new mysqli($mysql_host,$mysql_user,$mysql_password,$mysql_database);
$stmt = $con->prepare("SELECT uid, pwd FROM schools WHERE uid=?");
$stmt->bind_param("i", $sid);
$stmt->execute();
$stmt->bind_result($schoolid, $password);
$stmt->fetch();
$stmt->close();
ここで何が起こっているかを知っていて、比較的コーディングの初心者に平易な英語で説明できる人はいますか?
編集: コードの残りの部分は、チェック システムの場合は次のようになります。入力されたユーザー ID は$sid
で、入力され暗号化されたパスワードは$cleanpwd
です。
if ($sid == $schoolid and $cleanpwd == $password) {
header('Location: loginsuccess.php');
}
else {
header('Location: login.php?error=1'); }