kostenloser Webspace werbefrei: lima-city


Fehler beim Abfragen einer Mysql-Tabelle

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    d***l

    Moin, in folgendem Code muss ein Fehler sein, da immer nur "Nickname gefunden" ausgegeben wird, obwohl "Hans" nicht in der Tabelle vorhanden ist.
    Könnt ihr mir helfen?

    if ($nickname != '' and $passwort != '')
    {
    if ("mysql_query SELECT Nickname FROM User WHERE Nickname LIKE 'Hans'") 
    {
    echo "Nickname gefunden.";
    }
    else {echo "Nickname nicht gefunden.";
    }
    }
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.


    Moin, in folgendem Code muss ein Fehler sein, da immer nur "Nickname gefunden" ausgegeben wird, obwohl "Hans" nicht in der Tabelle vorhanden ist.
    Könnt ihr mir helfen?

    if ($nickname != '' and $passwort != '')
    {
    if ("mysql_query SELECT Nickname FROM User WHERE Nickname LIKE 'Hans'") 
    {
    echo "Nickname gefunden.";
    }
    else {echo "Nickname nicht gefunden.";
    }
    }



    Abgesehen davon, dass ich die Syntax nicht ganz checke, hier mal, wie ich es machen würde, wenn ich du wäre:

    <?php
    if ($nickname != '' and $passwort != '')
    {
    if (mysql_query('mysql_query SELECT Nickname FROM User WHERE Nickname LIKE 'Hans'')) 
    {
    echo 'Nickname gefunden.';
    }
    else {echo 'Nickname nicht gefunden.';
    }
    }
    
    ?>
  4. Autor dieses Themas

    d***l

    jetzt wird nur noch "Nickname nicht gefunden" angezeigt, egal ob vorhanden oder nicht...

    Beitrag geaendert: 25.4.2007 19:11:58 von d-i-l

  5. jetzt wird nur noch "Nickname nicht gefunden" angezeigt, egal ob vorhanden oder nicht...

    Beitrag geaendert: 25.4.2007 19:11:58 von d-i-l


    Jo, wäre auch hilfreich, die PHP-Funktion nicht an den SQL-Server zu senden, denn der kann damit ja absolut nichts anfangen:

    <?php
    if ($nickname != '' and $passwort != ''){
       if (mysql_query("SELECT Nickname FROM User WHERE Nickname LIKE 'Hans'")){
          echo 'Nickname gefunden.';
       } else {
          echo 'Nickname nicht gefunden.';
       }
    }
    ?>



    gruß
    ferdinand24
  6. Sie funktion gibt einen Wert zurück sobald sie erfolgreich ausgeführt hat... und der ist nicht true ... deshalb ist die Funktion wie du sie geschrieben hast unsinn.

    Du solltest evtl Prüfen wieviele Tabellenzeilen dem angegebenen Nick entsprechen.

    <?php
    if ($nickname != '' and $passwort != ''){
    $result = mysql_query('SELECT Nickname FROM User WHERE Nickname LIKE 'Hans'');
       if (mysql_affected_rows()>0)
    {
          echo 'Nickname gefunden.';
       } else {
          echo 'Nickname nicht gefunden.';
       }
    }
    ?>


    Übrigends setze zum Speichern der Passwörter am besten die Crypt() funktion von PHP ein, dann werden nur die MD5 hashes gespeichert. Dann sind die Paswörter zwar nichtmehr daraus wieder regenerierbar (zumindest nicht ohne Rainbowtables)
    aber sie werden auch nirgends im Klartext gespeichert und sind somit etwas sicherer

    Beitrag geaendert: 26.4.2007 12:51:58 von keiax

    Beitrag geaendert: 26.4.2007 12:52:14 von keiax
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!