sql golang执行查询时内存地址无效或指针解引用为零

hivapdat  于 2021-08-13  发布在  Java
关注(0)|答案(1)|浏览(361)

当我命令 INSERT... 我可以连接到数据库,但当我取消它们的命令时,出现了错误

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x40f8e2a]

我的职责是:

func Connect() (*sql.DB, error) {
    db, err := sql.Open("postgres", os.Getenv("PG_URL"))
    if err != nil {
        return nil, err
    }
    defer db.Close()

    stmt, _ := db.Prepare("INSERT INTO users(name, email, password) VALUES(?,?,?)")
    res, err := stmt.Exec("test", "test@mail.com", "12344")

    if err != nil{
        panic(err.Error())
    }
    fmt.Println(res)
    fmt.Println("Successfully connected!")
    return db, nil
}

我也尝试过做同样的事情,就像本文中的go-sql一样,但也有同样的问题:我实现这个错误了吗?

3wabscal

3wabscal1#

我赌一美元/欧元/弗兰克,npe正在执行准备好的语句,如果你检查你忽略的唯一错误,它就不会被忽略 nil 它会告诉你怎么了。

相关问题