PHP-bind_param与prepared不能与内部联接一起工作
我不明白我做错了什么PHP-bind_param与prepared不能与内部联接一起工作,php,mysqli,bindparam,Php,Mysqli,Bindparam,我不明白我做错了什么 $email = $_REQUEST['email']; $pass = $_REQUEST['password']; $playername = $_REQUEST['username']; $req_player = "SELECT authme.realname, authme.email, authme.password,
$email = $_REQUEST['email'];
$pass = $_REQUEST['password'];
$playername = $_REQUEST['username'];
$req_player = "SELECT authme.realname,
authme.email,
authme.password,
luckperms_players.username,
luckperms_players.primary_group
FROM authme
INNER JOIN luckperms_players ON (authme.email = ?)
AND (luckperms_players.username = ?)";
if($player_stmt = $mysqli->prepare($req_player)){
$player_stmt->bind_param("ss", $email,$playername);
$player_stmt->execute();
$player_stmt->bind_result($realname, $email, $password, $username, $primary_group);
$player_stmt->fetch();
if(password_verify($pass, $password)){
$_SESSION['is_logged'] = true;
$_SESSION['player_name'] = $realname;
$_SESSION['group'] = $primary_group;
}
当我将所有数据正确地放入表单中时,它会告诉我密码不正确,我做错了什么?告诉我们密码是如何存储的。此外,请确保数据库中的密码列能够容纳足够长的字符串以进行哈希运算。此外,请确保在查询后收到数据库中的任何数据。请认为(authme.email=?)部分实际上应该是一个
WHERE
子句。(internal JOIN luckperms\u players ON(luckperms\u players.username=?)其中(authme.email=?)
)密码存储在Minecraft服务器中,同样的方式并不重要,因为在尝试不使用内部连接之前,它工作正常。当我尝试使用内部联接时,错误开始了。@AxelBenitez那么我的赌注就是Nigel所说的。联接用于链接两个表。它将表1中的一列链接到表2中的一列。也可以将和添加到该关系中,但首先您需要该关系