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!