【发布时间】:2020-09-13 06:16:57
【问题描述】:
我目前有:
func foo (w http.ResponseWriter, req *http.Request) {
chekr := `SELECT FROM public."Users" WHERE email=$1`
err = db.QueryRow(chekr, usr.Email).Scan()
if err != sql.ErrNoRows {
data, err := json.Marshal("There is already a user with this email")
if err != nil { w.Write(data) }
}
// code that should run if email isn't found
}
但是,我发现它从不工作并且总是通过 if 块。
【问题讨论】:
-
你错过了
SELECT和FROM之间的一些东西。 MabySELECT * FROM ...或SELECT 1 FROM ...如果您不关心结果值。 -
@GMB 是正确的方向。确保您的 chekr 是有效的 Postgres SQL SELECT
-
错误处理没有意义。仅仅因为没有 ErrNoRows 并不意味着它有效。可能有任意数量的其他错误。此外,只有在编码失败时,您才会编写错误消息。
标签: postgresql go pq