но строки могут содержать кавычки и при записи вылает ошибку. Есть метод, который экранирует все кавычки внутри строки?
strings.ReplaceAll(value,"'","''")
искажение данных, так делать нельзя
func Addslashes(str string) string { var tmpRune []rune strRune := []rune(str) for _, ch := range strRune { switch ch { case []rune{'\\'}[0], []rune{'"'}[0], []rune{'\''}[0]: tmpRune = append(tmpRune, []rune{'\\'}[0]) tmpRune = append(tmpRune, ch) default: tmpRune = append(tmpRune, ch) } } return string(tmpRune) } я бы как нибудь вот так попробовал бы
Вообще-то удвоение кавычки в SQL - штатный квотинг.
были двойные - стали одинарные - это приводит к тому что Вы вторгается в значение данных, вместо того чтобы просто экранизировать для запроса
Нет, я предлагаю заменить одну одинарную кавычку двумя одинарными кавычками.
это и есть искажение данных, были двойные кавычки после вашего запроса стали там одинарные
Мой запрос двойных кавычек вообще не касается. Вместо двух одинарный кавычек SQL база вставит одну.
не так прочел, я думал вы там " заменяете на ' '
А двойные кавычки зачем заменять? Они и так вставятся.
Обсуждают сегодня