Hola pavelinhos,
La inyección sql, (si buscas en google hay mucho) es cuando usuarios malintencionados puede dañar tu base de datos op extraer información no autorizada y miles de cosas más.
¿cómo lo hacen? Enviando por medio de datos $_POST o $_GET cadenas de texto trabajadas para hackear tu server de base de datos o script php.
Puedes leer un poco más en
http://www.ajpdsoft.com/modules.php?...rticle&sid=201
Ahora el problema especificamente esta en que estas guardando el valor de rubro directamente como te lo mando el usuario desde su navegador por medio de un formulario:
Código PHP:
$rubro = $_POST['rubro'];
Deberías "limpiar" los datos que trae $_POST['rubro'] de posibles ataques.
La manera mas sencilla de hacerlo es así:
Código PHP:
$rubro = mysql_real_escape_string($_POST['rubro']);
La función mysql_real_escape_string() limpia todos aquellos caracteresw que se puede usar por un usuario malintencionado para hacer un ataque.
Salud!