PHP mysql用户名变量包含两个值


php mysql username variable contains two values

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

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

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

如果我想再加一个PersonName2我可以有$username="PersonName1" || $username = "PersonName2";

或者谁能给我一些建议?非常感谢

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

SELECT * FROM users WHERE (username='$username' OR username='$username2') AND password='$password_encrypt '

您也可以使用IN子句:

SELECT * 
FROM users 
WHERE username IN ('$username', '$username2')
    AND password='$password_encrypt'

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

SELECT * FROM users WHERE (username='$firstName' || username='$secondName') AND password='$password_encrypt '

OR可以在MYSQL中使用

   SELECT * FROM users WHERE (username='$username' OR username='$username2') AND password='$password_encrypt '

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

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

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