Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Namenvergleich mit Tabelle falls vorhanden 100 Punkte dazu

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Namenvergleich mit Tabelle falls vorhanden 100 Punkte dazu

    Hallo Leute,

    ich bin blutiger Anfänger und hoffe hier kann mir jemand helfen.
    also:

    Ich habe eine Html Datei, hier wird der $benutzername eingegeben
    und abgesendet und zur Datei aufladen.php geschickt.
    Die Datei aufladen.php soll nun in der Datenbanktabelle "benutzer", die 2 Spalten hat (einmal die spalte nickname und einmal die spalte konto) den Benutzernamen abgleichen, und falls vorhanden dem Konto(aktueller Stand ist in der Spalte Konto) 100 Punkte gutschreiben.
    Wie krieg ich das hin.

    Für eure Hilfe danke ich euch jetzt schon.

    Grüsse,

    onlyamiga

  • #2
    PHP-Code:
    $sql 'UPDATE `benutzer` SET `konto`=konto+100 WHERE `nickname`=\''.addslashes($_GET['benutzername']).'\' LIMIT 1';
    mysql_query($sql); 

    Kommentar


    • #3
      Zitat von konsti
      PHP-Code:
      $sql 'UPDATE `benutzer` SET `konto`=konto+100 WHERE `nickname`=\''.addslashes($_GET['benutzername']).'\' LIMIT 1';
      mysql_query($sql); 
      Das wird so nicht gehen, da du dich entscheiden musst, ob du doppelte oder einfache Anführungszeichen verwenden willst, aber nicht beides. Lass die "Backticks" mal weg, die sind praktisch immer überflüssig und verwirren nur. Und das addslashes() brauchst du natürlich nur, wenn auch der nickname entsprechend gespeichert wurde. LIMIT ist in diesem Fall definitiv sinnlos. Am Schluss würde dann das Ganze etwa so aussehen:
      PHP-Code:
      $sql "UPDATE benutzer 
                 SET konto = konto + 100 
                 WHERE nickname = '" 
      $_REQUEST['benutzername'] . "'";
      mysql_query($sql) or die(mysql_error()); 

      Kommentar


      • #4
        Das Limit hat durchaus seine Berechtigung. Wenn man genau weiß, wieviele Datensätze eine Abfrage betrifft, dann sollte man LIMIT setzen, da dadurch der Query (insb. bei sehr langen Tabellen) deutlich schneller sein wird (es sei denn, der gesuchte DS ist der letzte).
        Das macht sich zwar bei einer Abfrage nicht sehr bemerkbar, aber bei mehreren Usern und vielen Abfragen kann das schon dazu dienen, die Seiten für alle schneller zu machen!

        Kommentar


        • #5
          und einfache anführungszeichen sind einfach schneller geparsed, also nehm ich in kauf, dass ich diese dann im query escapen muss

          Kommentar

          Lädt...
          X