1.在使用 fmt.Sprintf 构建 SQL 插入语句时,参数包含特殊符号(如引号 '、分号 ;、反斜杠 \ 等),可能会导致 SQL 注入或插入失败的问题。为了解决这个问题,推荐使用占位符(如 $1, $2, 等)和参数化查询来防止 SQL 注入并正确处理特殊符号。

eg:

tbTacticsInsert := `INSERT INTO tactics(ctime, plat, tactics, tname, detail) VALUES(NOW(), $1, $2, $3, $4) ON CONFLICT DO NOTHING;` // 使用参数化查询,避免特殊符号引起的问题 func InsertTactics(pgHandle *pgx.Conn, params Params) error { // 使用 pgx.Exec 方法执行参数化查询 _, err := pgHandle.Exec(context.Background(), tbTacticsInsert, params.Plat, params.Tactics, params.Tname, params.Detail) return err }

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部