亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

查詢時sql golang無效的內存地址或零指針取消引用

查詢時sql golang無效的內存地址或零指針取消引用

Go
富國滬深 2022-06-06 16:55:45
我試圖在連接后插入數據,當我命令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", "[email protected]", "12344")    if err != nil{        panic(err.Error())    }    fmt.Println(res)    fmt.Println("Successfully connected!")    return db, nil}我也嘗試過像這篇文章 go sql一樣做同樣的事情 ,并且有同樣的問題我是否錯誤地實現了這個?
查看完整描述

2 回答

?
開滿天機

TA貢獻1786條經驗 獲得超13個贊

我打賭一美元/歐元/坦率地說,NPE 正在執行準備好的語句,如果你檢查你忽略的唯一錯誤,它不會是nil,它會告訴你出了什么問題。



查看完整回答
反對 回復 2022-06-06
?
斯蒂芬大帝

TA貢獻1827條經驗 獲得超8個贊

我對 sqlite 有同樣的問題。

正如 Ivaylo Novakov 在他的回答中所描述的那樣,我必須記錄準備語句的錯誤(我之前像你一樣忽略了stmt, _

對我來說,只要我在開發它就可以正常運行,但是當我創建最終的二進制文件時,我忘記啟用了cgo)。

錯誤得到了提示:

Binary was compiled with 'CGO_ENABLED=0', go-sqlite3 requires cgo to work. This is a stub


查看完整回答
反對 回復 2022-06-06
  • 2 回答
  • 0 關注
  • 150 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號