Nom de table variable dans SQLite
Q : Est-il possible d'utiliser une variable comme nom de table dans SQLite sans recourir à une chaîne constructeurs ?
A1 : Malheureusement, non. Les tables ne peuvent pas être la cible d'une substitution de paramètres dans SQLite.
A2 : Pour atténuer les risques d'injection, envisagez d'utiliser une fonction de nettoyage pour supprimer les caractères potentiellement dangereux du nom de la table. Par exemple, la fonction suivante peut être utilisée pour supprimer les caractères non alphanumériques :
def scrub(table_name): return ''.join(chr for chr in table_name if chr.isalnum())
Utilisation :
scrub('); drop tables --') # returns 'droptables'
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!