首页 > 解决方案 > Golang SQL 预期 0 个参数得到 1

问题描述

我正在使用以下查询来查询数据库。但我得到了错误sql: expected 0 arguments, got 1

以下是我正在使用的代码:

row := DB.QueryRow(`SELECT COUNT(*) FROM Users WHERE Id = "%s";`, userID)
if err != nil {
    return err.Error()
}

我正在使用以下软件包和驱动程序

import (
    "database/sql"
    _ "github.com/go-sql-driver/mysql"
)

编辑:

我也尝试了以下查询,但我得到了同样的错误。

row := DB.QueryRow(`SELECT COUNT(*) FROM Users WHERE Id = "$1";`, userID)
if err != nil {
    return err.Error()
}

标签: go

解决方案


正如线程中所建议的,您基本上需要在or函数?中用作占位符。所以,上面的查询应该是这样的:QueryQueryRow

row := DB.QueryRow(`SELECT COUNT(*) FROM Users WHERE Id = ? ;`, userID)
if err != nil {
    return err.Error()
}

推荐阅读