Considere usar consultas parametrizadas usando PDO por ejemplo.
Alternativamente, encierre sus variables entre corchetes { }.
Editar:
Extrañé que tu variable $subject
contiene comillas simples. Esto significa que tienes que escapar de ellos. (Vea la gran cantidad de otras respuestas y mysql_real_escape_string()
sobre esto). Pero como puede ver, las comillas simples dentro de la variable son exactamente cómo funcionan los ataques de inyección. Escaparlos ayuda a prevenir tales problemas y permite que su consulta almacene los datos esperados.
Ninguna respuesta sobre ataques de inyección está completa sin hacer referencia a Bobby Tables .