sql golang查询时,无效的内存地址或nil指针取消引用。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql golang查询时,无效的内存地址或nil指针取消引用。相关的知识,希望对你有一定的参考价值。

我试图在连接后插入数据,当我命令逻辑中的 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


我也试着做同样的事情,就像这样。棋谱并有同样的问题,我错了实现这个?

答案

我敢打赌,一个dollareurofrank,NPE是在行执行准备的语句,如果你检查唯一的错误,你忽略了它不会是 nil 它将告诉你什么是错的。

以上是关于sql golang查询时,无效的内存地址或nil指针取消引用。的主要内容,如果未能解决你的问题,请参考以下文章

Redigo:尝试连接池时无效的内存地址或 nil 指针取消引用

k6:WARpanic:运行时错误:无效的内存地址或 nil 指针取消引用

无法生成 ngrokpanic:运行时错误:无效的内存地址或 nil 指针取消引用

使用 mgo 的无效内存地址或 nil 指针取消引用

附加到结构切片时无效的内存地址或 nil 指针取消引用

为啥 gorm db.First() 会因“无效的内存地址或 nil 指针取消引用”而恐慌? [复制]