go - 带有 MySQL 驱动程序的 Golang
问题描述
最近几天一直在学习golang,但是我很沮丧,因为我正在尝试制作一个简单的CRUD api,但我无法创建一个简单的用户。
我正在使用带有 mysql 驱动程序的 golang sql 的 Fiber(非常类似于 Express.js)。
这是我的整个处理程序:
func CreateUser(c *fiber.Ctx) {
type InputData struct {
Username string `json:"username"`
Email string `json:"email"`
Password string `json:"password"`
}
// input data
input := new(InputData)
c.BodyParser(input)
// connects to db
db, err := sql.Open("mysql", "root:root@tcp(localhost:8877)/sql")
if err != nil {
log.Fatal(err)
}
// the code freezes here
if err := db.Ping(); err != nil {
log.Fatal(err)
}
fmt.Println("Connected to the MySQL database! ")
// defer will close the connection when the main function has finished
defer db.Close()
// inserts the user
prep, err := db.Prepare("INSERT INTO users (username, email, password) VALUES (?,?,?)")
if err != nil {
panic(err.Error())
}
result, err := prep.Exec(input.Username, input.Email, input.Password)
if err != nil {
panic(err.Error())
}
// response
c.JSON(result)
}
我在做我不应该做的事吗?
(顺便说一句,这几乎是我的全部代码,我删除了“错误”处理)
祝你们有美好的一天!
解决方案
推荐阅读
- sqlite - Sqlite 读取性能在网络上很慢
- php - 如果同一个用户在同一个会议中进行了超过 1 次注册,为什么注册的详细信息显示不正确?
- angular - TypeError:无法读取未定义 Ionic 3 /Angular 5 的属性“获取”
- typo3-8.x - 创建自定义搜索表单 indexed_search TYPO3 v8
- php - 自定义 URL 或深层链接是否可以打开 Square 应用程序 ios/android?
- sql - SQL中子查询的执行顺序
- php - 导出到 MS Word 和 Excel 文件的报告中没有图像
- codec - AviSynth 无法打开我的 AVI 文件:“AVISource:找不到用于fourcc dvds 的解压器”
- r - arulesSequences cspade 函数:“文件中的错误(con,“r”):无法打开连接”
- php - 按字符串过滤数组并分成2个数组