【发布时间】:2011-08-17 21:55:53
【问题描述】:
我正在为具有两种帐户类型的网站编写登录脚本(HTML、PHP 和 MYSQL):帐户“A”和帐户“B”。现在我有一个收音机选择,让用户选择他们拥有的帐户类型。但是我想稍微清理一下登录屏幕,并通过完全删除单选按钮使登录表单适合标题。
我如何让脚本检查第一个表的结果(用户名和密码),如果没有找到结果,检查下一个表(用户名和密码),然后一旦找到匹配项将其发送到帐户特定页面?
简而言之,我想消除对单选按钮的需求。
编辑:我没有收到任何错误,但问题是它只从第一个表中选择:这是我的代码:
$q = "SELECT varone, vartwo
FROM tablea
WHERE (user_email='$e' AND pass=SHA1('$p'))
UNION
SELECT varthree, vartwo
FROM tableb
WHERE (contact_email='$e' AND pass=SHA1('$p'))
";
$r = mysqli_query ($dbc, $q) or trigger_error("Query: $q\n<br />MySQL Error: " . mysqli_error($dbc));
【问题讨论】:
-
只是要把我的两分钱扔在这里。在数据库中设置一个名为
account_type的列不是更容易吗? -
我尝试做一个 if else 语句,但结果变得更加复杂并且不断出错。 MySQL 中的 Union Thin 似乎正在我正在寻找的轨道上。
-
@Phil - 尝试使用
UNION ALL而不是UNION,因为UNION将消除重复(我猜你在这种情况下有重复)