準備された文を使用するために変更するまで、私はMySQLのクエリを使用していました。私はこのエラーを取得するのはなぜ は、私が理解することはできません。PHP:なぜmysqli_fetch_assoc()がうまくいかないのですか?私はmysqli_stmt_get_result()を使用しています
$conectar = mysqli_connect(localhost, USER, PASS, DATABASE);
//from the log in form
$email = $_POST['email'];
$clave = $_POST['clave'];
//this should get me just one result: the user to which the email belongs.
$consulta = "SELECT usuarios.userID, usuarios.userPass, usuarios.userEmail, usuarios.userPass, usuarios.userFechaGeneracion, usuarios.userNombres, rolesUsuarios.nombreRol,
GROUP_CONCAT(rolesUsuarios.nombreRol SEPARATOR '|') AS roles
FROM rolesUsuarios, usuarios
WHERE usuarios.userEmail=?
AND rolesUsuarios.userID = usuarios.userID
GROUP BY usuarios.userID
";
$buscarUsuario = mysqli_prepare($conectar,$consulta);
mysqli_stmt_bind_param($buscarUsuario, 's', $email);
mysqli_stmt_execute($buscarUsuario);
if (mysqli_stmt_get_result($buscarUsuario)) {
$row = mysqli_fetch_assoc($buscarUsuario);
$originalPass = $row['userPass'];
...
がなぜ機能していません。
mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, object given
を(フォームでこのログの)クエリが一つだけ結果を返す必要がありますか?クエリー自体は、ユーザー名電子メール、パスワード(実際にハッシュ値、実際の役割)、ロールなどを含む配列を返します。