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

Comment concaténer des chaînes et des valeurs dans des requêtes SQL en Go ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-26 17:38:03894parcourir

How to Concatenate Strings and Values in SQL Queries in Go?

Concaténation de requête SQL équivalente dans Go

En Python, la concaténation de chaînes et de valeurs dans une requête SQL est simple à l'aide de l'opérateur %. Cependant, dans Go, cette méthode peut ne pas fonctionner comme prévu.

Pour résoudre ce problème, les programmeurs Go peuvent utiliser la fonction fmt.Sprintf. L'exemple de code suivant montre la manière correcte de concaténer des chaînes et des valeurs :

<code class="go">query := fmt.Sprintf(`SELECT columnA FROM tableA WHERE columnB = %d AND columnB = %s`, SomeNumber, SomeString)</code>

Cette méthode garantit que les valeurs sont correctement formatées et gérées. De plus, il est crucial de noter la vulnérabilité potentielle des attaques par injection lors de l'intégration de données fournies par l'utilisateur dans des requêtes. Pour atténuer ce risque, envisagez d'utiliser l'approche suivante :

<code class="go">query := `SELECT column_name FROM table_name
    WHERE column1_name = %d AND column2_name = %d`

rows, err := db.Query(query, Val1, Val2)</code>

En employant des arguments distincts pour la requête et les valeurs, vous pouvez empêcher les entrées malveillantes de modifier la structure ou l'intention de votre requête.

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