• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

mysqli_stmt_num_rows() Fehler

Mad Dog

Mitglied
Hey leute,

ich habe hier ein Problem. Und zwar will ich ueberpruefen, ob ein bestimmter username schon vergeben ist.
Dazu versuche ich den username in der Datenbank zu selectieren. wenn es moeglich war in zu selectieren, heisst das, dass der username schon vergeben ist.
Klappt auch alles. Nur will ich statt mysqli_stmt_fetch() mysqli_stmt_num_rows() benutzten, eben um zu schaueb ob eine spalte betroffen ist.

hier der code:
Code:
            $sql = 'SELECT username FROM user WHERE username = ?';
            $mysqli_stmt->prepare($sql)
            $mysqli_stmt->bind_param('s', $User)
            $mysqli_stmt->execute()
            $mysqli_stmt->bind_result($result)
            $mysqli_stmt->num_rows();

Das Ergebniss sollte 1 sein. Jedoch ist es 0.

hat jemand eine idee wie man das loesen kann?

mfg
mad dog
 
num_rows ist keine Funktion, sondern eine Var. also ohne ().

Beispiel:
PHP:
  $befehl = "SELECT `id` FROM `tbl_usr` WHERE `username`=?";
  $check = $db->prepare($befehl);
  $check->bind_param('s', htmlspecialchars($_POST['username']));
  $check->execute();
  $check->bind_result($id);
  if($check->num_rows > 0) { ... }
Hoffe, es hilft dir weiter.

Mfg
 
hmmm wieso gibt mir dann php keine fehlermeldung aus, wenn ich mysqli_stmt_num_rows() schreibe?
ich habs probiert. letzten endes komme ich aufs selbe ergebniss....
und es kommt drauf an ob mans objekt orientiert nutzt oder nicht. ohne objektorientierung verlangt num_rows in den klammern die mysqli_stmt verbindung oder sehe ich das falsch?
wie auch immer ergebniss ist immer noch 0 obwohl es 1 sein sollte.
koennte das ein bug sein?
 
Zurück
Oben