我尝试在下面的查询中使用多个 AND,每次当我尝试使用登录功能时,它都会弄乱密码。代码如下。
// this is my problem, right here
$result = mysql_query("SELECT username, password, FirstName FROM members
WHERE username='$myusername'
AND password='$mypassword'
AND FirstName = '$firstname'");
// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
session_start();
$_SESSION['myusername'] = $myusername;
$_SESSION['mypassword'] = $mypassword;
$_SESSION['firstname'] = $firstname;
编辑:
SQL 查询:
表名称:members
username | password | FirstName | LastName
johndoe deers John Doe
PHPMyAdmin 告诉我,当我在那里运行它时,它返回零行。
最佳答案
A)根本不要将密码存储在内存中
B)对密码进行哈希处理
C) 如果您已经按用户名和密码进行过滤,则没有理由过滤 FirstName = 任何内容。当用户登录时,您是否询问他们的用户名、密码和名字?你从哪里得到这个变量?用户名不是唯一的还是什么?
关于php - PHP mysql 查询中的多个ANDS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3207195/