Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 20-05-2010, 16:50
INC.
 Registrierter Benutzer
Links : Onlinestatus : INC. ist offline
Registriert seit: Nov 2005
Beiträge: 106
INC. ist zur Zeit noch ein unbeschriebenes Blatt
Standard mysqli: Probleme bei num_rows mit prepared statements

Hallo!

Ich stehe gerade etwas auf dem Schlauch bezüglich $mysqli->num_rows.

Ich möchte gerne via prepared Statement einen Select-Befehl ausführen:

PHP-Code:
$sql "SELECT `id` FROM `users` WHERE `session_id` = ? AND `ip_adress` = ? ;";
$result $this->db->prepare($sql);
$result->bind_param'ss'session_id(), $_SERVER['REMOTE_ADDR']);    
$result->execute(); 
Soweit, so gut.

Weiter gehts dann mit

PHP-Code:
$result->bind_result($userid);
$result->fetch(); 
In $userid scheint tatsächlich was drin zu sein - ich möchte aber dringend überprüfen, ob die Response aus lediglich einem Element besteht oder gar aus keinem.

Ein $result->num_rows danach liefert mir aber lediglich 0 zurück, selbst wenn in $userid tatsächlich eine id übermittelt wurde.

Benutze ich store_result, scheint der Befehl plötzlich wieder zu gehen, aber geht es nicht auch ohne? Wie macht man sowas am besten bzw. elegantesten?

Wichtig ist, dass mir genau eine id zurückgeliefert werden muss, sonst stimmt was nicht, und das muss ich eben prüfen.

Danke


edit: wundert euch nicht warum ich prepared statements verwende, obwohl die ip und sessionid eigentlich keine gefährlichen Inhalt haben können. Aber ich würde das später evt. noch gerne erweitern, das ist der Grund.

Geändert von INC. (20-05-2010 um 16:54 Uhr)
Mit Zitat antworten