S
sw33tlull4by
Guest
Hi!
PHP-Version ist 5.2
Server ist Apache 2.2.9
Mysqlverion 5.0.77
Ich habe in meinem Skript nun stückweise anfällige queries durch prepared statements ersetzt.
Nun bin ich beim Loginskript und da passiert etwas was ich nicht verstehe und seit einiger Zeit auch nicht beheben kann.
Alles funktioniert, aber sobald ich abfrage, wieviele Zeilen betroffensind bekomme ich -1 raus.
$statement->errno gibt 0 zurrueck, in den logs taucht auch nichts auf.
Sobald ich die bedingung in der ifabfrage aber umkehre, also
$statement->affected_rows<=0 schreibe laeuft alles, ich bekomme die richtigen werte zurrueck.
Weiss jemand was da los ist?
mfg
sw33t
PHP-Version ist 5.2
Server ist Apache 2.2.9
Mysqlverion 5.0.77
Ich habe in meinem Skript nun stückweise anfällige queries durch prepared statements ersetzt.
Nun bin ich beim Loginskript und da passiert etwas was ich nicht verstehe und seit einiger Zeit auch nicht beheben kann.
PHP:
<?php
..............................
$conn_id = new mysqli($dbhost,$proxyuser,$proxypass,$database);
if(mysqli_connect_errno())
{
.....errorhandeling.....
}
else
{
$statement = $conn_id->prepare("select newpass from login where user =? and pass=?");
if(!is_object($statement))
print "<br> Das Objekt konnte nicht erstellt werden<br><br>";//das errorhandeling ist nur zu testzwecken,wird später ersetzt
$statement->bind_param("ss",$_POST['user'],$_POST['pass']);
$statement->execute();
/*Überpruefen ob die Abfrage ein Ergebnis hat*/
if($statement->affected_rows>0)
{
/*Auslesen des Resultates*/
$statement->bind_result($row);
$statement->fetch();
print "Here is the result:".$row."<br>";
/*Speicherung der Logindaten*/
$statement->close();
$_SESSION['user'] = $_POST['user'];
$_SESSION['pass'] = $row;
$_SESSION['host'] = $dbhost;
.....
}
else
{
....errorhandling
}
}
?>
Alles funktioniert, aber sobald ich abfrage, wieviele Zeilen betroffensind bekomme ich -1 raus.
$statement->errno gibt 0 zurrueck, in den logs taucht auch nichts auf.
Sobald ich die bedingung in der ifabfrage aber umkehre, also
$statement->affected_rows<=0 schreibe laeuft alles, ich bekomme die richtigen werte zurrueck.
Weiss jemand was da los ist?
mfg
sw33t