Mysqli - bind_result nie działa?

0
 if ($stmt = $this->dbHandle->prepare("SELECT id, login, salt, level FROM members WHERE login = ? AND (password = ? AND salt = ?)")) {
                $we = '1 OR 1=1';
                $stmt->bind_param("sss", $user, $we, $we);
                $stmt->execute();
                $stmt->bind_result($id, $login, $salt, $level);
                echo $id;
}

Dlaczego wyświetla mi 0 ? Innych danych które powinny być w wyniku też nie mam co robię źle?

Fragment:

$we = '1 OR 1=1';

podany jest ze względu na to że za pierwszym razem chce pobrać jedynie dane(haslo jest generowane na podstawie soli indywidualnej i stałej i dopiero za drugim razem (kolejny bind_param) wpisywane są poprawne dane do logowania i wtedy gdy rekordów spełniających warunki jest 1 osoba jest logowana:

$stmt->bind_param("sss", $user, $pass, $salt);
                $stmt->execute();
                $stmt->bind_result($id, $login, $salt, $level);
                
                $stmt->store_result();
                if($stmt->num_rows == 1){
                    $row = $stmt->fetch();
//tworzenie sesji $id, $login, $level
}
  • nie wiedziałem jak to inaczej rozwiązać tak żeby nie wysyłać 2 podobnych zapytań
0

Jakieś propozycje co może być nie tak? dałem za mało informacji czy problem jest aż tak zawiły?
P.S
Wybaczcie bezczelne podbijanie ale troszkę mnie to wstrzymuje a nie mam już pomysłów co może być nie tak;/

1 użytkowników online, w tym zalogowanych: 0, gości: 1