• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

PHP/MySQL Problem

Johatho

Jamba
Registriert
02.11.08
Beiträge
56
Hi Leute...

ich versuche ganz einfach einen Code zu schreiben, der in einer MySQL-Datenbank überprüft, ob Benutzername uns Passwort übereinstimmen. Dazu lasse ich die Anzahl der Einträge zählen. Wenn die Anzahl der Einträge mehr als 0 ist, dann soll er es überprüfen. Doch da zeigt er immer einen Fehler an:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /Applications/xampp/xamppfiles/htdocs/1DI/login.php on line 9
Und hier ist der Code:

Code:
<?php
$usr = $_POST['usr'];
$pwd = md5($_POST['pwd']);
$fehler = "";

if ($usr && $pwd) {
    $sql = "SELECT * FROM `USER`.`Usr_Psw` WHERE (`benutzername` LIKE '" . $usr . "')";
    $result = mysql_query($sql);
    $zeilen = mysql_num_rows($result);
    echo $zeilen;
    
    if ($zeilen > 0) {
        while($row = mysql_fetch_assoc($result)) {
            if ($row['benutzername'] === $row['passwort']) {
                setCookie("USRNAME", $usr);
                setCookie("PASSWORD", $pwd);
                echo "Drinnen";
            } else {
                $fehler = "Benutzername und Passwort passen nicht zusammen!";
            }
        }
    } else {
        $fehler = "Dieser User existiert nicht";
    }
}
    
?>
Hoffe auf schnelle Antworten...

lg
Johatho
 

BerndderHeld

Spätblühender Taffetapfe
Registriert
03.09.06
Beiträge
2.802
Lass dir mal $result ausgeben. Er bemängelt ja das Argument.
 

papierschiff

Klarapfel
Registriert
19.09.09
Beiträge
278
sieht auch irgendwie seltsam aus...
was gibt denn php als fehler wieder, speziell mysql_error()?
ich würde mal darauf tippen, dass
$sql = "SELECT * FROM `USER`.`Usr_Psw` WHERE (`benutzername` LIKE '" . $usr . "')";
falsch ist.

speziell die tabelle... ist USER ne konstante, und was soll derp unkt dazwischen? wie heist denn die tabelle?
 

Johatho

Jamba
Registriert
02.11.08
Beiträge
56
@BerndderHeld: Wenn ich $result ausgebe, zeigt er nicht an....

@papierschiff: Die Zeile wurde mir von meinem PHPMyAdmin gegeben... "USER" ist die Datenbank...
 

papierschiff

Klarapfel
Registriert
19.09.09
Beiträge
278
ah ok, sorry.. aber wie gesagt, was gibt mysql_error() aus, error_reporting in php aktiviert und auf E_All gestellt?

ansonsten den wert von $sql einfach mal bei phpmyadmin reinhauen, die geben immer ordentliche fehler zurück...
 

papierschiff

Klarapfel
Registriert
19.09.09
Beiträge
278
naja, dann ist ja alles klar, anscheinend gibt es keinen user oder du bist nicht "eingeloggt"... du must die gleiche mysql-daten bei deinem script angeben wie bei phpmyadmin... dann auch kein wunder das es dort funktioniert.
 

drlecter

Wöbers Rambur
Registriert
04.11.06
Beiträge
6.442
MySql_Error() gibt folgendes aus:


Wenn ich den Wert von $sql reinhau, funktioniert alles!
1. Schau dir die Berechtigungen an.
2. Warum übergibst du die DB mit bei der Select Anweisung? Machst du dies nicht schon beim Connect?

Für den Rest->SuFu. Wir hatten neulich schon einmal das Thema Loginscripte.
 

Johatho

Jamba
Registriert
02.11.08
Beiträge
56
Ich lass es auf meinem Localhost laufen und ich bin mit genau den selben eingeloggt! Ich benutze die selbe Datei zum reinkommen, wie immer... (bis auf die Tatsache, dass ich den Tabellennamen geändert habe!)
 

Johatho

Jamba
Registriert
02.11.08
Beiträge
56
Du hattest recht, habs grad nochmal überprüft... Danke, für deine schnelle und gute Hilfe ^^