php登录使用2个数据库表

时间:2014-03-12 23:12:45

标签: php mysql

我正在尝试使用2个数据库表(作者和编辑者)创建登录脚本。我将发布一个例子: 表1:作者

|id|username|password|
| 1|  user  |  xyz   |

表2:编辑

|id|username|password|
| 1| editor |  abcd  |

我想使用这两个表进行一次登录。我试着用:

SELECT * FROM authors, editors WHERE username='mysql_real_escape_string($username)' AND password='mysql_real_escape_string($password)'

但它不起作用。 还有另一种方式对我有用吗? 谢谢。

3 个答案:

答案 0 :(得分:2)

你不应该这样做,使用一个表格,其中包含一个角色或类似的东西。这最终会破裂。

如果你真的想这样做,无论如何,我建议先在作者的桌子上做一个选择。没有结果?查询编辑器表。

但正如我所说,不要这样做。

答案 1 :(得分:1)

尝试从表格或其他

中选择
SELECT * FROM authors a, editors b
WHERE (a.username='mysql_real_escape_string($username)' AND a.password='mysql_real_escape_string($password)') 
OR (b.username='mysql_real_escape_string($username)' AND b.password='mysql_real_escape_string($password)')

但我不知道这是否能满足你的期望。

作为附注,我会加密我的密码并使用准备好的语句来避免使用PDOmysqli mysql injection的风险,但不推荐使用mysql函数

答案 2 :(得分:1)

您可以尝试以下

"select * from(select * from authors union all select * from editors) a 
 where username = " . "'" . mysql_real_escape_string($username) . "'";

让我知道它是怎么回事。 快乐的编码