Während Text-SQL-Abfragen eine einfache Methode zum Abfragen von Datenbanken bieten, ist es wichtig, den richtigen Ansatz zum Verketten von Zeichenfolgenliteralen mit Werten zu verstehen um Syntaxfehler und Typkonflikte zu vermeiden.
Die bereitgestellte Abfragesyntax:
query := `SELECT column_name FROM table_name WHERE column1_name = %d AND column2_name = %d` % (val1, val2)
führt aufgrund der Verwendung von Tupeln im Python-Stil zu einem Syntaxfehler. Verwenden Sie stattdessen fmt.Sprintf, um die Zeichenfolge und die Werte zu verketten:
query := fmt.Sprintf(`SELECT column_name FROM table_name WHERE column1_name = %d AND column2_name = %d`, val1, val2)
Alternativ können Sie db.Query verwenden, um Zeichenfolgen ohne Zeichenfolgeninterpolation zu verketten:
query := `SELECT column_name FROM table_name WHERE column1_name = %d AND column2_name = %d` rows, err := db.Query(query, val1, val2)
Denken Sie daran, Injektionsschwachstellen zu beheben, indem Sie vorbereitete Anweisungen anstelle von String-Interpolation verwenden.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3