Bien que les requêtes texte SQL offrent une méthode simple pour interroger les bases de données, il est crucial de comprendre la bonne approche pour concaténer des littéraux de chaîne avec des valeurs pour éviter les erreurs de syntaxe et les incohérences de type.
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 de corriger les vulnérabilités d'injection en utilisant des instructions préparées au lieu de l'interpolation de chaîne.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3