我正在为具有两种帐户类型的网站开发登录脚本(在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));
答案 0 :(得分:1)
SELECT 'first' AS source, ...
FROM firstable
WHERE (username = $user) and (password = $password)
UNION
SELECT 'second' as source, ...
FROM secondtable
WHERE (....)
然后只需检查代码中结果的来源。
if ($row['source'] == 'first') { ... came from first table ... }
应该有效,假设两个表中都不会出现完全相同的用户名/密码对。
答案 1 :(得分:0)
select * from table_A where id = 6 union select * from table_b where other_id = 6;