Maison > développement back-end > Golang > 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
Libérer: 2024-10-31 21:47:01
original
1018 Les gens l'ont consulté

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)
Copier après la connexion

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)
Copier après la connexion

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)
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal