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!