La injeccion de codigo creo que se manda a travez de la variable (sobretodo en GET)
la url que ejecutas por ejemplo seria
archivo.php?var='; DROP TABLE table_name --'
suponiendo que tu script hace esta consulta
select * from usuarios where id='$_GET["var"]';
la sustituir por el valor quedaria
select * from usuarios where id=''; DROP TABLE table_name --'';
esto ejecuta un select where id='';
un drop table
y los -- significa comentario
algo asi funciona la inyecion
; para evitarla debes crear una funcion para validar que tipo de datos recibes por las variables.
EDICION
Lo recomendable (ademas de validar) es crear un usuario para la BD con los perminsos indipensables para evitar que pase eso si no haces un drop en tu sistema que no tenga esos permisos