Problem mit einem sotieren Skript

  • Hallo,
    ich habe da ein Problem mit einem Skript, dass ich diesesmal nur abgewandelt habe.

    Aber jetzt erhalte ich folgenden Fehler ausgegeben:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from livetickerfinale1 WHERE id='2' ORDER BY matchpg1, satz1' at line 42


    Habe den Fehler gerade selber gefunden

    Einmal editiert, zuletzt von compoundbow83 (25. Februar 2013 um 14:20) aus folgendem Grund: Fehler gefunden

  • Auf Zeile 606, bei folgendem Code:

    Code
    [...]
    (`matchp8` + `matchp9g` + `matchp11`) as matchpv7,
    (`matchp10` + `matchp8g` + `matchp12g`) as matchpv8[B][COLOR=#ff0000],[/COLOR][/B]
    
    
    
    
    from livetickerfinale1 WHERE id='$_REQUEST[id]' ORDER BY matchpg1, satz1

    Das Komma vor dem FROM ist zu viel. Sollte anhand dieser Fehlermeldung aber einfach zu lesen sein.

    Noch ein Gratistipp von mir dazu:

    PHP
    $abfrage = "SELECT * from livetickerfinale1 WHERE id='$_REQUEST[id]'";

    Mit solchen Sachen ist die MySQL-Injection schon vorprogrammiert. $_REQUEST solltest du sowieso nicht verwenden, nimm stattdessen die deinem Request entsprechenden Superglobals(in erster Linie $_GET und $_POST). Und noch wichtiger: Nie, nie, NIE! von aussen manipulierbare Daten direkt in ein SQL-Statement schreiben. Am besten verwendest du prepared statements mit PDO oder mysqli oder sicherst die Daten mittels escaping ab.

    Gruss,
    -Lukas

    EDIT: Sorry, musste während dem Schreiben kurz raus, hab deinen EDIT nicht gesehen. Mein Tipp gilt aber weiterhin ;)