Bon, bon, bon... ça va pas tout ça ! En l'état, ton script souffre toujours de grave problème de sécurité !
Par exemple : Que va-t-il se passer si je change manuellement la valuer de la variable $cle (en modifiant l'url !)... je vais pouvoir, au choix, modifier n'importe quel enregistrement de mon choix (mais bon, je suppose que tu à fait une vérification des droit de modification avant l'envoi de tes données) ou bien pouvoir assigné la valeur de mon choix (une chaine vide par exemple) à l'enssemble des enregistrement de ta table car tu ne vérifie pas la validité de ta variable !
La sécurisation d'un script, c'est de commencer par vérifier la validité des informations envoyé par l'utilisateur... et après seulement, de faire les operations que l'on a envi de faire !
Donc, le minimum à faire pour la sécurité dans ton cas :
1 - S'assurer que toutes les variables que tu attend de la part de l'utilisateur existe
2 - S'assurer que ta clé à une valeur valide (bon format) et que l'utilisateur à le droit d'agir dessus (authentification des utilisateurs !)
3 - S'assurer que tous les caractères problématique avec MySQL sont correctement echappé
Pour le point 1, une simple utilisation de la fonction
isset() suffit (eventuellement, tu peut utiliser
empty() si en plus tu veux verifier que la variable n'est pas vide !)
Pour le point 3 utilise la fonction
mysql_escape_string() ou
mysql_real_escape_string() plutot que ta fonction personalisé

Pour le point 2, le plus simple et d'utilisé une cle numerique (format très facile à vérifier) et d'utiliser un système d'authentification des utilisateur systématique sur tous les script chargé de modifier des données
Pour bien sécurisé un script il faut suivre une simple règle : l'utilisateur est toujours le maillon faible de la sécurité, il ne faut donc jamais faire confiance aux donné envoyé par les utilisateurs