我试图根据此查询提供的“ CNP”和“ Parola”查找存储在“ Nume”列中的数据:
$query2=mysqli_query($con, "SELECT Nume FROM allusers WHERE CNP='".$cnp." AND Parola='".$pass."'");
然后存储找到的数据并进行比较,以查看管理员是尝试登录还是只是基本用户:
$name=mysqli_fetch_assoc($query2);
$admin='Admin';
if($admin===$name)
{
$_SESSION['sesiune']=$cnp;
header("Location: admin_account.php");
}
else
{
$_SESSION['sesiune']=$cnp;
header("Location: user_account.php");
}
当我使用管理员“ CNP”和“ Parola”并且如果无法使用管理员帐户登录时,if语句为false,这只是将我带到用户帐户 (来自else语句)。
如何解决此问题?
答案 0 :(得分:0)
mysqli_fetch_assoc
返回一个数组,因此必须使用:
$row = mysqli_fetch_assoc($query2);
$admin = 'Admin';
if($admin === $row['Nume'])
{
....
答案 1 :(得分:0)
此行之后
$name=mysqli_fetch_assoc($query2);
做
print_r($name);
它将告诉您$ name是一个数组而不是字符串。 根据我的理解,您必须执行此操作
if($name['numa'] =='Admin')