Вообщем я пытаюсь передать данные для записи их в БД как у меня выходит ошибка, Gogland IDE говорит что , что то не так с - go handlePacket(connectFD) он вызывается сразу после socket.Accept() в новом потоке.Подскажите что может быть не так . ах да программа вылетает в методе db.QueryRow(sqlStatement,email,password).Scan(&id)
func handlePacket(conn net.Conn) {
rw := bufio.NewReadWriter (bufio.NewReader (conn), bufio.NewWriter (conn))
defer conn.Close()
packet := model.RegistrationMessage{}
client := JsonDecoderMessage(rw).Decode(&packet)
if client != nil {
puts("Error from Decode.Please NO :(")
}
if packet.MessageType == model.AUTH_MESSAGE {
puts("Auth")
}else if packet.MessageType == model.REGS_MESSAGE {
puts("Regs")
Registration(packet.Login,packet.Password)
puts("good")
}
}
а тут я устанавливаю соединение с БД и пытаюсь отправить данные в БД
var db *sql.DB
func InitDataBase(){
psqlInfo := fmt.Sprintf("host=%s port=%d user=%s "+
"password=%s dbname=%s sslmode=disable",
host, port, user, password, dbname)
db, err := sql.Open("postgres", psqlInfo)
if err != nil {
panic(err)
}
defer db.Close()
err = db.Ping()
if err != nil {
panic(err)
}
fmt.Println("Successfully connected!")
}
func Registration( email, password string) {
sqlStatement := `INSERT INTO account0( email,password)
VALUES ($1, $2)
RETURNING id`
id:=0
err := db.QueryRow(sqlStatement,email,password).Scan(&id)
if err != nil {
panic(err)
}
}