Sauf qu'il y a encore un problème....
Le cast en (string) ne sert à rien ici...
Il faut par contre protéger tes variables contre les injections SQL...
Le cast est utile pour les variables de int, float, bool...
Mais pour d'autre types il faut passer par des fonctions d'échappements dédiées (mysql_real_escape_string()) par exemple...