Mysql
 sql >> база данни >  >> RDS >> Mysql

невалиден адрес на паметта или дерефериране на нулев указател golang база данни

Така че сривът е причинен от това, че db указателят е нула. Това означава, че кодът, който се опитва да използва тази връзка на ред 40, предизвиква паника.

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

Указателят db е нула, защото, както Питър посочи, http.ListenAndServe блокира, което означава нищо след като ще тече.

Опитайте да стартирате този пример локално, за да видите проблема:

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)")
}

Няма да видите съобщението Running code.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. GET параметрите са уязвими към SQL инжекция - PHP

  2. Mysql - попълване на редове за липсващи месеци

  3. SQLite по-бърз от MySQL?

  4. LAST_INSERT_ID() е неравен на $db->insert_id?

  5. MySQL Обединяване на две полета от две таблици в едно поле в набор от резултати