phillip: php / mysql order by ...

hallo!

ich lasse die tabelle meiner liga folgendermaßen ausgeben:

$result_tabelle = @mysql_query("select * from ".$prefix."_liga_tabelle where liga_id='".$_GET["liga_id"]."' order by punkte desc;", $sql_id);

also order by punkte. nur wenn der punktestand gleich ist, soll nach der anzahl der tore sortiert werden. wie kann ich das in mein sql query mit einbauen?

danke...
phillip

  1. Hallo Phillip,

    $result_tabelle = @mysql_query("select * from ".$prefix."_liga_tabelle where liga_id='".$_GET["liga_id"]."' order by punkte desc;", $sql_id);

    ACHTUNG! das ist der typische Fall, wo man eine SQL Injection durchführen kann.
    Woher weißt du, dass sich hinter liga_id nicht sowas befindet:
    1'; ~~~sql DELETE FROM tabelle_xy WHERE 1; SELECT * FROM tabelle_xy WHERE id='a

    Du solltest also vorher $\_GET["liga\_id"] auf zulässige Werte überprüfen. Bei einer ID reicht dir wahrscheinlich eine Kontrolle, ob es sich um einen numerischen Wert handelt.  
      
    Gruß,  
    Benne
    
    -- 
    ie:% fl:( br:> va:) ls:> fo:| rl:° ss:) de:[ js:| ch:| mo:} zu:)
    
  2. hi,

    order by punkte,tore

    muss es dann heissen.

    order by punkte DESC,tore ASc ist auch möglich.

    Dieter