Waa*_*aat 1 html php mysql select
我有一个拥有两种类型的用户的网站,即医生和患者。我将有关这两种类型用户的信息存储在两个不同的表中。当用户登录时,我要检查用户提交的登录名是否存在于第一个表(例如:patient)或第二个表(例如:doctor)中。我该怎么做?
以下是包含我编写的SELECT语句的代码的一部分:
$query =
"SELECT username, password
FROM patient
WHERE username='$username' AND password='$password'";
Run Code Online (Sandbox Code Playgroud)
我目前正在SELECT从病人桌旁进餐,但我想知道如何SELECT从病人桌和医生桌旁进餐。
你能帮我吗?
您可以使用MySQL的UNION()功能执行此操作。
$query = "SELECT username, password
FROM table_1
WHERE username='$username' AND password='$password'
UNION
SELECT username, password
FROM table_2
WHERE username='$username' AND password='$password'";
Run Code Online (Sandbox Code Playgroud)
注意:字符串变量必须用引号引起来。
不过,我必须指出,此方法可用于SQL注入,并且希望您不要以纯文本格式存储密码。
如果您以纯文本格式存储密码,则强烈建议您不要这样做,并且很容易破坏您的网站。
建议使用CRYPT_BLOWFISH或PHP 5.5的password_hash()函数。
对于PHP <5.5,使用password_hash() compatibility pack。
另外,对于SQL注入, 与预准备语句一起使用mysqli或与预准备语句一起使用PDO而言,它们要安全得多。