很抱歉打扰您,但我花了几个小时浏览互联网来寻找问题的答案,我搜索了 Google,甚至询问了 yahoo 答案,但我找不到问题的解决方案。
我有一个数据库,在该数据库中有一个名为 active 的列,它默认为 0。在 PHP 中,我想检查当一个人登录时是否有帐户在该列中有 0(如果是)我登录用户,但如果没有出现一条错误消息,表明他们的帐户已被禁止。问题是无论什么消息总是出现:
您的帐户已被禁止,如果您认为这是错误的电子邮件:admin@website.com。
这是导致问题的代码部分:
$active = mysql_query("SELECT active FROM users WHERE username='$username'");
if (mysql_num_rows($active) == 0)
{
session_start();
$_SESSION['username'] = $username;
echo "You've been logged in. <a href='http://techhelpandhowtos.tk'>Home</a>";
}
else
{
echo "<font color=Red>Your account has been banned, if you think this is in error email: admin@website.com</font>";
}
与数据库的连接是在脚本的前面建立的,因此这不是问题。任何帮助表示赞赏。请问谁能找到答案。
最佳答案
只要你的用户存在(并且他的用户名是uniqe),mysql_num_rows将始终返回1。
像这样使用mysql_fetch_array:
$active = mysql_query("SELECT active FROM users WHERE username='$username'");
$res = mysql_fetch_array($active);
if($res["active"] === "1")
...
我还应该提到,您不应该在新代码中使用 mysql 扩展,因为它目前已被弃用,并且将来会被删除。请改用 PDO 或 mysqli。
关于php - 如何从 PHP 检查 MySQL 中的某个单元格是否等于 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19012004/