0

我想知道我们是否可以让一个变量等于两个字符串值?我做了一个不需要用户名的登录表单,只需要密码。如果密码匹配,则显示正确的人名。我完全理解这不是登录表单的正确方式或安全方式,但此表单仅供 5 人内部使用。

在 php 文件中,我设置了$username = "PersonName";表单只需要密码,如果密码正确,此人可以登录并且页面上的名称为“PersonName1”。我用 mysql

$result = mysql_query("SELECT * FROM users WHERE username='$username' AND password='$password_encrypt '");

如果我想添加另一个PersonName2,我可以拥有$username="PersonName1" || $username = "PersonName2";

或者如果有人可以给我一些想法?非常感谢

4

5 回答 5

2

是的,OR在 SQL 查询中使用操作数:

SELECT * FROM users WHERE (username='$username' OR username='$username2') AND password='$password_encrypt '
于 2013-05-07T11:04:44.343 回答
1

您还可以使用该IN子句:

SELECT * 
FROM users 
WHERE username IN ('$username', '$username2')
    AND password='$password_encrypt'
于 2013-05-07T11:06:55.127 回答
0

可以在 mysql 中进行检查X OR Y,只需确保使用括号分隔条件即可。

SELECT * FROM users WHERE (username='$firstName' || username='$secondName') AND password='$password_encrypt '
于 2013-05-07T11:05:49.510 回答
0

OR 可用于 MYSQL

   SELECT * FROM users WHERE (username='$username' OR username='$username2') AND password='$password_encrypt '
于 2013-05-07T11:06:01.393 回答
0

如果用户不需要用户名,那么在 SQL 查询中只需搜索匹配的密码,然后使用 PHP 你可以

while($user = mysql_fetch_assoc($result)){ /* check for a good username?? */ }

此外,mysql_* 已被弃用,研究 MySQLi 或 PDO 以获得最佳实践。

于 2013-05-07T11:09:06.477 回答