我在一个表中有2位用户,例如Vesna和Silvija,Vesna首先,Silvija第二位,如果我在邮递员中键入Silvija,他将返回我“用户不存在,且比用户Silvija的ID大。这应该是以邮递员只返回一个用户ID的方式工作,如果我键入一个不存在的用户,他应该返回该用户不存在,但是当我键入一个不存在的用户时,他将返回该用户不存在的2倍,而是一个时间,因为表格中有2个与输入的用户不匹配的用户。希望我已经可以理解地解释它了,并且有人可以帮助我。
foreach($oUsers as $oUser)
{
if($oUser->USERNAME == $sUsername)
{
$_SESSION['user_id'] = $oUser->USER_ID;
$_SESSION['username'] = $oUser->USERNAME;
echo $_SESSION['user_id'];
break;
}
else
{
echo ' User does not exist';
}
}
答案 0 :(得分:0)
您不能在foreach循环中使用echo '...'
,因为echo
在每次迭代中都会执行。
$found = false;
foreach($oUsers as $oUser){
if($oUser->USERNAME == $sUsername){
$_SESSION['user_id'] = $oUser->USER_ID;
$_SESSION['username'] = $oUser->USERNAME;
$found = true;
break;
}
}
if($found === true){
echo $_SESSION['user_id'];
}else{
echo ' User does not exist';
}