Bonjour,
J'utilise le formatage de chaine pour protéger mes transactions SQL. Par exemple :
une fois formaté, donnera la requête suivante :
Bien sur, les chaines de caractères mises à la place des %s sont passées à mysql_real_escape_string().
Ce qui m'ennuie dans tout ça c'est que si une chaine est vide je me retrouve avec '' et non NULL. Et je ne peux pas simplement retourner NULL à la place de %s, puisque j'obtiendrais la chaine 'NULL'... ce qui est nul du coup.
Donc, mon idée est de virer les apostrophes autour de %s et d'ajouter %n pour les noms de champs. Ce qui nous donnerait :
Cela permet déjà de distinguer les noms de champs de leurs valeurs et me permet de remplacer %s par NULL si la chaine est vide.
Le problème c'est que je ne suis pas sur que ce soit une très bonne idée.
Avez-vous un avis éclairé à partager ?