2013-12-08, 16:35
  #1
Medlem
Hej, jag håller på och försöker lära om mig genom att använda mysqli istället för mysql och även konvertera till oop i samma veva.

Jag har lite problem med att verifiera en inloggning då jag får num_result till 0 istället för 1 (användarnamn och lösenord som scriptet matas med är korekta och kör jag sql:en i t.ex. phpmyadmin så får jag fram bara en rad.)

[PHP]if(isset($_POST['submit'])) {
if($_POST['username'] == "" || $_POST['password'] == "") {
header('location:login.php?error');
}
$username = $_POST['username'];
$password = sha1(sha1(md5($_POST['password']).$salt).md5($username));

$sql = "SELECT * FROM users WHERE username='$username' and password='$password'";
$result = $mysqli->query($sql) and trigger_error($mysqli->error." [$sql]");;
if($result->num_rows != 1) {
echo "Wrong username and/or password!";
} else {
echo "Login successfull";
}

}[/PHP]

har med endel debugging i koden för att försöka hjälpa mig själv, men det hjälpte inte tillräckligt endå, eftersom jag tycker det ser helt rätt ut... Vad missar jag?

MVh
Citera
2013-12-08, 22:36
  #2
Medlem
Bongomans avatar
Vad händer om du tar resultatobjektet $result och kör en AND på det med utmatningen från utskriften av ett felmeddelande? Får du ett objekt som resultat? Nix!

var_dump($result);
Citera
2013-12-08, 23:24
  #3
Medlem
kimdah2002s avatar
$result->num_rows lär alltid returnera 0 som föregående inlägg redan korrekt påpekat...
__________________
Senast redigerad av kimdah2002 2013-12-08 kl. 23:34.
Citera
2013-12-25, 23:23
  #4
Medlem
Mixtapessons avatar
Istället för

$result->num_rows

prova att köra på

$mysqli->num_rows
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in