Maison  >  Article  >  développement back-end  >  Puis-je utiliser une variable comme nom de table dans SQLite sans manipulation de chaîne ?

Puis-je utiliser une variable comme nom de table dans SQLite sans manipulation de chaîne ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-08 14:30:02194parcourir

Can I Use a Variable as a Table Name in SQLite Without String Manipulation?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn