ログインID、ユーザ名、パスワード、ランクのテーブルが2つあり、もう1つはアカウントステータス用です。私はすべてのアクティブなアカウントだけを実行するためにテーブルに参加する必要があります。 phpmyadminで自分のコードを試すたびにうまくいきますが、私のシステムでは動作しません。私のコードに何か問題はありますか? Btw。ランクは、あなたが管理人または学生の場合、アカウントの確認用です。php innerは2つ以上のテーブルを結合します
$sql = "SELECT a.login_id,username,password,rank,b.status FROM login2 as a INNER JOIN login_stat2 as b ON a.login_id = b.login_id WHERE username ='".$username."' AND password='".$pass."' AND b.status='ACTIVE'";
$result = mysqli_query($con,$sql)or die(mysqli_error($con));
while($row = mysqli_num_rows($result));
session_regenerate_id();
$member = mysqli_fetch_assoc($result);
$_SESSION['SESS_MEMBER_ID'] = $member['login_id'];
$_SESSION['SESS_NAME'] = $member['username'];
$_SESSION['SESS_RANK'] = $member['rank'];
if($member['rank']=='administrator'){
header("location: login_reg.php");
}
else if($member['rank']=='student'){
header("location: student.php");
}
else if($member['rank']=='candidate'){
header("location: candidate.php");
}
}else{
print "Incorrect username or password";
session_write_close();
定義 "は動作しません"。 mysqli_num_rowsのwhileループがそれ自身のように無意味なループを引き起こす意味をなさないならば、私が最も目にすることは分かります。 –
どうすればいいですか? – Mals
私は何が起こっているのか、起こっていないのか、_all_関連するコードであるのか、無効なスニペットではないのかを正確に伝えることから始めます。 –