Go sql.open 连接地址占位符

我把mysql信息从配置文件读出来。mysql主机,用户,密码和数据库名称怎么作为变量传到sql.open()?

cfg, err := ini.Load("setting.ini")
//cfg.BlockMode = false
if err != nil {
    panic(err)
}
mysqlhost := cfg.Section("mysql").Key("host").String()
mysqluser := cfg.Section("mysql").Key("user").String()
mysqlpassword := cfg.Section("mysql").Key("password").String()
mysqldatabase := cfg.Section("mysql").Key("database").String()
dbconn, err = sql.Open("mysql", "%s:%s@tcp(%s)/%s?charset=utf8&parseTime=True&loc=Local")
阅读 3.3k
2 个回答
conn = fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8&parseTime=True&loc=Local", 
    mysqluser, 
    mysqlpassword,
    mysqlhost,
    mysqldatabase,
)
dbconn, err = sql.Open("mysql", conn)

用标准库中的字符串拼接 mysql 连接的 DSN

sql.Open("mysql",fmt.Sprintf("%s",val))
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题