J'utilise le formatage de chaine pour protéger mes transactions SQL. Par exemple :
Code : Tout sélectionner
SELECT * FROM `%s` WHERE `%s` = '%s'
Code : Tout sélectionner
SELECT * FROM `user_users` WHERE `username` = 'gofromiel'
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 :
Code : Tout sélectionner
SELECT * FROM %n WHERE %n = %s
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 ?