我正在尝试使用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)'
但它不起作用。 还有另一种方式对我有用吗? 谢谢。
答案 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)')
但我不知道这是否能满足你的期望。
作为附注,我会加密我的密码并使用准备好的语句来避免使用PDO
或mysqli
mysql injection
的风险,但不推荐使用mysql函数
答案 2 :(得分:1)
您可以尝试以下
"select * from(select * from authors union all select * from editors) a
where username = " . "'" . mysql_real_escape_string($username) . "'";
让我知道它是怎么回事。 快乐的编码