亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用“?”時,sql.DB.Query“預期為 0 個參數” 占位符

使用“?”時,sql.DB.Query“預期為 0 個參數” 占位符

Go
慕哥9229398 2022-06-06 17:01:09
我正在使用驅動程序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 回答

?
ABOUTYOU

TA貢獻1812條經驗 獲得超5個贊

省略單引號。當你使用占位符時,不要加引號。加上引號,它只是一個字符串。



查看完整回答
反對 回復 2022-06-06
  • 1 回答
  • 0 關注
  • 160 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號