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

  • Auf Zeile 606, bei folgendem Code:


    Code
    1. [...]
    2. (`matchp8` + `matchp9g` + `matchp11`) as matchpv7,
    3. (`matchp10` + `matchp8g` + `matchp12g`) as matchpv8[B][COLOR=#ff0000],[/COLOR][/B]
    4. 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
    1. $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 ;)