我似乎无法使用db.Select()动态ORDER BY.我用Google搜索没有运气......
作品
rows, err := db.Query("SELECT * FROM Apps ORDER BY title DESC")
什么都不行
rows, err := db.Query("SELECT * FROM Apps ORDER BY ? DESC", "title")
我没有收到任何错误,查询根本无法订购.
我现在使用Golang框架Gin一段时间没有问题,但我现在需要处理发布到我的API的图像.
我可以弄清楚如何处理验证,调整大小和存储图像,但是现在我只是想弄清楚如何抓取已发布的文件并将其分配给变量.
我查看了Gin API文档,但没有任何内容向我发出.
我正在按如下方式卷曲我的API(这可能是错的?)......
$ time curl -X POST --form upload=@ss.png -H "Content-Type: application/json" --cookie 'session=23423v243v25c08efb5805a09b5f288329003' "http://127.0.0.1:8080/v1.0/icon" --form data='{"json_name":"test json name","title":"Test","url":"http://sometest.com"}'
Run Code Online (Sandbox Code Playgroud) 问题1:
我有下面的MySQL查询工作正常但我刚刚发现这不是一个安全的方法,因为它开放的SQL注入.如果我想作为参数传递,你可以看到where子句是一个问题.
_, err := dbmap.Select(&response.AppsData, "SELECT...", ?)
Run Code Online (Sandbox Code Playgroud)
任何建议很多appriciated.
where := ""
for i := 0; i < (len(acl_user_apps)); i++ {
fmt.Println(acl_user_apps[i].AppId)
fmt.Println(acl_user_apps[i].Permissions)
if where == "" {
where = "WHERE Apps.id=" + strconv.Itoa(acl_user_apps[i].AppId)
} else {
where = where + " OR Apps.id=" + strconv.Itoa(acl_user_apps[i].AppId)
}
}
query := "SELECT Apps.*, GROUP_CONCAT(DISTINCT IFNULL(AppCategoryMatches.category_id,'-1') SEPARATOR ',') as temp, GROUP_CONCAT(DISTINCT IFNULL(AppCategories.category_name,'-1') SEPARATOR ',') as tmp_name FROM Apps LEFT JOIN AppCategoryMatches ON AppCategoryMatches.app_id=Apps.id LEFT JOIN AppCategories ON (AppCategoryMatches.`category_id` = AppCategories.id) " + …Run Code Online (Sandbox Code Playgroud)