与此混淆的一点。请帮我调试这个代码
基本上,我有一个表中的列,我想检索该列中的值,为特定的行。
我有一套工作的代码,但不是在这种特殊情况下。
我有工作的代码是这样的:
$qry="SELECT * FROM logins WHERE username='$login' AND password='$password'";
$result=mysql_query($qry);
这显然检索特定的行,然后:
$member = mysql_fetch_assoc($result);
$_SESSION['SESS_MEMBER_ID'] = $member['User ID'];
这成功地设置会话变量,从用户的价值此行的id列。
所以这很好,工作。我想在我的新情况下使用的代码是这样的:
$qry = "SELECT * FROM vote WHERE Username = '" .$_SESSION['SESS_USERNAME']. "'";
$result = mysql_query($qry);
这得到基于当前用户的行,然后:
while($row = mysql_fetch_array($result))
{
Print "<b>Name:</b> ".$row['Username'] . " <br>";
Print "<b>Vote:</b> ".$row['Vote'] . " ";
}
while循环工作正常,则显示当前用户名和他们的投票。显然我觉得循环不是必需的,因为我已经选择了一行。去除循环破坏了它,所以我把它放回去了。没什么大不了的,如果能够完成这项工作,我可以接受。
我注重的问题,是利用
$row['Username']
在这个if语句:
if($row['Username'] == "Admin") {
echo ("Win!<br />");
}
else {
echo "Failed!";
}
当从上面的循环打印,其打印:
Name, as Admin,
and vote, as 0.
如果我然后尝试使用if语句进行验证,我会要求它回复Win!如果用户名==管理员。
显然这是真的,因为它已经打印在行前,但是,它总是引起失败!我不明白为什么。
我应该将$ row ['Username']设置为其他变量吗?
任何人都可以提供他们的指导吗?
干杯
编
将您的同时改为if。 – pritaeas
你的循环不应该像你所显示的那样输出。请仔细检查您发布的代码 – Raptor
奇怪,它应该可以工作。像@pritaeas所说的,改变一个if和另一个显示mysql_error()的方法。 – 2011-11-03 15:19:51