我正在使用驅動程序database/sql與golang 中的 MySQL 數據庫進行交互github.com/go-sql-driver/mysql我將標簽與文章與將文章 ID 與標簽 ID 相關聯的表關聯起來,并使用本文article_to_tag底部的 Toxi 解決方案查找具有特定標簽的文章這個片段應該在我的數據庫中查詢與數組中所有標簽關聯的所有文章itags s := "SELECT a.* " + "FROM article_to_tag at, articles a, tags t " + "WHERE t.ID = at.TagID " + "AND a.ID = at.ArticleID " + "AND (t.Name IN ('?'" + strings.Repeat(",'?'", len(itags)-1) + ")) " + "GROUP BY a.ID " + "HAVING COUNT(a.ID)=" + strconv.Itoa(len(itags)) + ";" fmt.Println(s) rows, err := db.Query(s, itags...)這會在查詢 2 個標簽時構建以下字符串,但使用該字符串進行查詢會返回錯誤:sql: expected 0 arguments, got 2SELECT a.*FROM article_to_tag at, articles a, tags tWHERE t.ID = at.TagIDAND a.ID = at.ArticleIDAND (t.Name IN ('?','?'))GROUP BY a.ID HAVING COUNT(a.ID)=2;為什么查詢忽略?占位符,我還應該如何安全地構建查詢?
- 1 回答
- 0 關注
- 160 瀏覽
添加回答
舉報
0/150
提交
取消