Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

địa chỉ bộ nhớ không hợp lệ hoặc cơ sở dữ liệu golang dereference con trỏ nil

Vì vậy, sự cố là do con trỏ db là nil. Điều này có nghĩa là mã cố gắng sử dụng kết nối đó trên dòng 40 gây ra sự hoảng loạn.

rows, errrows := db.Query(...

Con trỏ db là nil vì, như Peter đã chỉ ra, http.ListenAndServe đang chặn, có nghĩa là không có gì sau khi nó sẽ chạy.

Hãy thử chạy cục bộ ví dụ này để xem vấn đề:

package main

import (
    "net/http"
)

func Group(res http.ResponseWriter, req *http.Request) {
    println("group handler")
}

func main() {
    http.HandleFunc("/group/", Group)
    err := http.ListenAndServe(":9001", nil)
    if err != nil {
      panic(err)
    }
    println("Running code after ListenAndServe (only happens when server shuts down)")
}

Bạn sẽ không thấy thông báo Mã đang chạy.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tại sao kết nối MySQL bị chặn do nhiều lỗi kết nối?

  2. Cách chọn N dòng hàng đầu cho mỗi nhóm trong MySQL

  3. làm thế nào để thay thế văn bản trong ô thành một dữ liệu trong một bảng khác trong mysql

  4. Hợp nhất hai cột, nhiều hàng bỏ qua các bản sao - MySQL

  5. mysqli_stmt ::num_rows () trả về giá trị sai