如何過濾來自 URL 參數示例本地主機的輸入:8080/v1/data/:id而且我想在Golang中使用像參數這樣的過濾器,我不能使用,因為這個過濾器是動態的,這個參數可以使用或否,就像這個例子mysql_real_escape_string?if status != "99" { where = append(where, "vs.stats = '1'")}if cari != "" { where = append(where, "(lm.title_member like '%"+cari+"%' OR " + "lm.nama_member like '%"+cari+"%' )")}query := "select vs.*, lm.nama_member from volks_shift vs left join list_member lm on vs.id_m=lm.id_m where vs.id_s=?"rows, err := s.DB.QueryContext(ctx, query, id_s)我想要安全的卡里瓦爾,沒有使用?
1 回答

犯罪嫌疑人X
TA貢獻2080條經驗 獲得超4個贊
包中沒有轉義函數,請參閱相關問題#18478(并且在使用數據庫抽象層時調用mysql特定的函數也不好)。database/sql
但它也不是必需的,因為您仍然可以在動態查詢中使用。只需將查詢參數與查詢一起動態構建,如下所示:?
query := "SELECT vs.*, lm.nama_member" +
" FROM volks_shift vs LEFT JOIN list_member lm ON vs.id_m=lm.id_m" +
" WHERE vs.id_s=?"
params := []interface{}{id_s}
if status != "99" {
query += " AND vs.stats = '1'"
}
if cari != "" {
query += " AND (lm.title_member LIKE ? OR lm.nama_member LIKE ?)"
params = append(params, "%"+cari+"%", "%"+cari+"%")
}
rows, err := s.DB.QueryContext(ctx, query, params...)
- 1 回答
- 0 關注
- 73 瀏覽
添加回答
舉報
0/150
提交
取消