• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

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
 
Lass dir mal $result ausgeben. Er bemängelt ja das Argument.
 
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?
 
@BerndderHeld: Wenn ich $result ausgebe, zeigt er nicht an....

@papierschiff: Die Zeile wurde mir von meinem PHPMyAdmin gegeben... "USER" ist die Datenbank...
 
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...
 
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.
 
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.
 
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!)
 
Du hattest recht, habs grad nochmal überprüft... Danke, für deine schnelle und gute Hilfe ^^