return db 为nil

来源:3-7 编码实战:从文件表中获取元数据

三日三秋

2020-03-05

老师, 在连接的时候,数据库初始化 得到的db 不为nil ,但是调用DBConn() 返回的db为nil ,我去检查服务器能脸上数据库不?也是能连上的,不知道啥原因?printf为true
这个明明就连上的

写回答

1回答

xiaomo

2020-03-06

同学你好,可以先查看一下这个文件的mysql连接初始化函数是否正常:https://git.imooc.com/coding-323/filestore-server/src/charter3/db/mysql/conn.go

func init() {
	db, _ = sql.Open("mysql", "root:root@tcp(127.0.0.1:3306)/fileserver?charset=utf8")
	db.SetMaxOpenConns(1000)
	err := db.Ping()
	if err != nil {
		fmt.Println("Failed to connect to mysql, err:" + err.Error())
		os.Exit(1)
	}
}

检查下是否有报错,并且注意这一行

db, _ = sql.Open("mysql", "root:root@tcp(127.0.0.1:3306)/fileserver?charset=utf8")

这个db是全局变量,因此是 = , 非 :=

0
0

Go实战仿百度云盘-实现企业级分布式云存储系统

紧随“云时代”技术潮流,分布式云存储系统,做第一代云程序员

1077 学习 · 494 问题

查看课程