现在,我要检索 checkin_time 和 checkout_time :
好的,我已经得到了正确的查询。现在通过Go代码运行查询:
package controllers
import (
"absensi/config"
"absensi/models"
"encoding/json"
"fmt"
"net/http"
"time"
)
func DoScanRow(w http.ResponseWriter, r *http.Request) {
var tmpcheckintime string
var tmpcheckouttime string
var param models.CheckinParam
var db = config.DBConnect()
json.NewDecoder(r.Body).Decode(¶m)
query1 := `SELECT checkin_time, checkout_time FROM oc_log WHERE userid=$1 AND userdate=$2;`
row := db.QueryRow(query1, param.UserId, time.Now().Format("2006-01-02"))
row.Scan(&tmpcheckintime, &tmpcheckouttime)
fmt.Println("--> id: " + param.UserId)
fmt.Println("--> date: " + time.Now().Format("2006-01-02"))
fmt.Println("--> checkin: ", tmpcheckouttime)
fmt.Println("--> checkout: ", tmpcheckouttime)
}
如果我通过邮递员发送此有效载荷:
{“ id”:“ 1234”,“ location”:“(100,100)”,“ distance”:4}
我明白了:
-> ID:1234
->日期:2019-10-28
->签到:
->结帐:
签入和签出时间均为空。但是显然只有结帐时间是空的。怎么了?
答案 0 :(得分:1)
您发布的最后两行代码让您连续两次登录tmpcheckouttime
:
fmt.Println("--> checkin: ", tmpcheckouttime)
fmt.Println("--> checkout: ", tmpcheckouttime)
如果您修复了第一个Println
,您会得到期望的结果吗?