Essenzialmente il problema della sql injection si ha quando fornisci login e password da una pagina web per entrare nelle aree protette di un servizio.

Esempio. Supponiamo di avere la tabella accessi contenente i campi log_user e pw_user
Supponiamo che le variabili passate da post siano $_POST['login'] e $_POST['password'].

nella tua pagina php di controllo, avrai:

$sql = "SELECT * FROM accessi
WHERE (log_user='" . $_POST['login'] . "' AND pw_user='" . $_POST['password'] . "')";


quindi fornendo come login e password i valori prova prova

si ha:

$sql = "SELECT * FROM accessi
WHERE (log_user='prova' AND pw_user='prova')";

se qualcuno malintenzionato fornisce

sia come login che come passowrd il valore

mio' or '1=1

la variabile $sql diverrebbe:

$sql = "SELECT * FROM accessi
WHERE (log_user='mio ' or '1=1' AND pw_user='mio' or '1=1')";

SICURAMENTE TALE CONTROLLO ANDREBBE A BUON FINE.
Questo comunque è solo un esempio se cerchi in giro per il web trovi molto altro.

Nel tuo caso non dovresti avere particolari problemi in quanto la variabile $_GET la usi dopo ORDER BY quindi non ci sono problemi.