Хотя текстовые SQL-запросы предлагают простой метод запроса к базам данных, очень важно понимать правильный подход к объединению строковых литералов со значениями. во избежание синтаксических ошибок и несоответствий типов.
Предоставленный синтаксис запроса:
query := `SELECT column_name FROM table_name WHERE column1_name = %d AND column2_name = %d` % (val1, val2)
приводит к синтаксической ошибке из-за использования кортежей в стиле Python. Вместо этого используйте fmt.Sprintf для объединения строки и значений:
query := fmt.Sprintf(`SELECT column_name FROM table_name WHERE column1_name = %d AND column2_name = %d`, val1, val2)
В качестве альтернативы вы можете использовать db.Query для объединения строк без интерполяции строк:
query := `SELECT column_name FROM table_name WHERE column1_name = %d AND column2_name = %d` rows, err := db.Query(query, val1, val2)
Не забывайте устранять уязвимости внедрения, используя подготовленные операторы вместо интерполяции строк.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3