首页 > 解决方案 > PHP:无法使用管理员帐户登录

问题描述

我正在尝试根据此查询提供的“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 语句是错误的,它只是将我带到用户帐户(来自 else 语句)。

我该如何解决这个问题?

标签: phpmysqli

解决方案


mysqli_fetch_assoc返回一个数组,因此您必须使用:

$row = mysqli_fetch_assoc($query2);
$admin = 'Admin';
if($admin === $row['Nume'])
{
....

推荐阅读