gpt4 book ai didi

postgresql - 当我尝试连接到 Postgresql 时出现 panic

转载 作者:数据小太阳 更新时间:2023-10-29 03:26:35 26 4
gpt4 key购买 nike

我有一个简单的程序:

package main

import (
"database/sql"
"log"

_ "github.com/lib/pq"
)

func main() {
db, err := sql.Open("postgres", "user=demas password=pass host=192.168.99.100 port=32768 dbname=mydb sslmode=disabled")
if err != nil {
log.Fatal(err)
}

var name string
rows, err := db.Query("select name from films")
for rows.Next() {
err = rows.Scan(&name)
if err != nil {
log.Fatal(err)
}
log.Printf("Subject is %s", name)
}
}

当我尝试运行它时出现错误:

λ go run main.go
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x20 pc=0x460b2d]

goroutine 1 [running]:
panic(0x5d02a0, 0xc0420040c0)
G:/scoop/apps/go/1.7.1/src/runtime/panic.go:500 +0x1af
database/sql.(*Rows).Next(0x0, 0x607fa6)
G:/scoop/apps/go/1.7.1/src/database/sql/sql.go:1752 +0x2d
main.main()
D:/dev_experiments/go-db1/main.go:18 +0x116
exit status 2

我该如何解决?

最佳答案

正如霍布斯所说,您没有检查 db.Query 上的错误。

此外,在检查错误后推迟 db.Close()。在对行执行任何操作之前,请务必检查错误。如果它返回一个错误,你也不会得到一个“行”。所以行数为零。

关于postgresql - 当我尝试连接到 Postgresql 时出现 panic ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39696318/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com