3 回答
TA贡献1815条经验 获得超10个赞
据我了解,您需要检查数据库中是否存在用户和密码。如果是这样,你可以这样做:
var isAuthenticated bool
err := db.QueryRow("SELECT IF(COUNT(*),'true','false') FROM userLog WHERE u_name = ? AND u_pass = ?", uname, pswd).Scan(&isAuthenticated)
if err != nil {
log.Fatal(err)
}
如果数据库包含提供的用户和密码 isAuthenticated 将设置为 true。
TA贡献1831条经验 获得超10个赞
如果你已经执行了一个查询db.Query("SELECT * FROM some_tbl")
并且有一个rows
迭代器,那么你不能在不迭代的情况下提取行数。如您所见,没有任何返回行数的内容。
因此,您唯一可以做的就是进行查询以选择行数: db.Query("SELECT COUNT(*) FROM some_tbl")
TA贡献1818条经验 获得超3个赞
这是在 go 中返回 MySQL 选择中的行数的一种相当有效的方法:
rows, selerr := db.Query(sql, StartDate, EndDate) // Query
if selerr != nil {
fmt.Fprint(w, selerr);
return
}
count := 0
for rows.Next() {
count += 1
}
rows, _ := db.Query(sql, StartDate, EndDate) // Query again - no error
- 3 回答
- 0 关注
- 210 浏览
添加回答
举报