Maison  >  Article  >  développement back-end  >  Comment concaténer en toute sécurité des chaînes dans des requêtes SQL avec Go ?

Comment concaténer en toute sécurité des chaînes dans des requêtes SQL avec Go ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-31 21:47:01934parcourir

How to Safely Concatenate Strings in SQL Queries with Go?

Concaténation de chaînes dans les requêtes SQL dans Go

Bien que les requêtes SQL texte offrent une méthode simple pour interroger les bases de données, il est crucial de comprendre l'approche correcte pour concaténer des littéraux de chaîne avec des valeurs pour éviter les erreurs de syntaxe et les incompatibilités de types.

La syntaxe de requête fournie :

query := `SELECT column_name FROM table_name
        WHERE column1_name = %d AND column2_name = %d` % (val1, val2)

entraîne une erreur de syntaxe en raison de l'utilisation de tuples de style Python. Au lieu de cela, utilisez fmt.Sprintf pour concaténer la chaîne et les valeurs :

query := fmt.Sprintf(`SELECT column_name FROM table_name
                     WHERE column1_name = %d AND column2_name = %d`, val1, val2)

Vous pouvez également utiliser db.Query pour concaténer des chaînes sans interpolation de chaîne :

query := `SELECT column_name FROM table_name
        WHERE column1_name = %d AND column2_name = %d`

rows, err := db.Query(query, val1, val2)

N'oubliez pas d'adresser l'injection vulnérabilités en utilisant des instructions préparées au lieu de l'interpolation de chaînes.

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