Hallo,
ACHTUNG! Hier muss man _höllisch_ aufpassen!
$query = "SELECT ... WHERE id = ".mysql_real_escape_string ($_GET['id']);
-> SICHERHEITSLÜCKEWarum? Weil die Funktion mysql_real_escape_STRING heißt, d.h. für STRINGS gedacht ist. Wenn Du unter der Annahme, es handelt sich um eine Zahl, die Zahl einfach in den Query schreibst, dann nützt Dir mysql_real_escape_string nichts, weil in einem String wie »1 UNION ALL ...« nichts drin ist, was escapet werden müsste (keine ' etc.)!
$query = "SELECT ... WHERE id = '".mysql_real_escape_string ($_GET['id'])."'";
-> hat das Problem nicht.
hm.. aber id steht doch schon in '' also $_GET['id'].
Ist es in dem Fall nicht irrelevant weil id schon als String behandelt wird?
Ich schreib zwar immer im Stil '".mysql..(..)."' aber frag mich halt grad nur.
Grüße, Matze