Prendi in considerazione l'utilizzo di query parametrizzate utilizzando PDO per esempio.
In alternativa, racchiudi le tue variabili tra parentesi { }.
Modifica:
Mi è sfuggita la tua variabile $subject
contiene virgolette singole. Ciò significa che devi scappare da loro. (Vedi la miriade di altre risposte e mysql_real_escape_string()
su questo.) Ma come puoi vedere, le virgolette singole all'interno della variabile sono esattamente come funzionano gli attacchi di iniezione. L'escape aiuta a prevenire tali problemi e consente alla tua query di archiviare i dati previsti.
Nessuna risposta sugli attacchi injection è completa senza fare riferimento a Bobby Tables .