猿问

将变量传递给 GoLang 查询

首先让我说我是 golang 的初学者(几天前开始),并且正在学习如何实际应用该语言。我的目标是构建一个 Web Rest API,用于查询数据库并向用户提供数据。


我已经能够成功地创建使用马提尼一个简单的API(https://github.com/go-martini/martini),并连接到使用MySQL数据库https://github.com/go-sql-driver/mysql . 我目前的问题是如何将来自 API 请求的变量参数传递到我的查询中。这是我当前的代码:


package main


import (

    "github.com/go-martini/martini"

    _ "github.com/go-sql-driver/mysql"

    "database/sql"

    "fmt"

)


func main() {


  db, err := sql.Open("mysql",

    "root:root@tcp(localhost:8889)/test")


  m := martini.Classic()


  var str string


  m.Get("/hello/:user", func(params martini.Params) string {


  var userId = params["user"] 


  err = db.QueryRow(

      "select name from users where id = userId").Scan(&str)


  if err != nil && err != sql.ErrNoRows {

    fmt.Println(err)

  }


  return "Hello " + str


  })


  m.Run()



  defer db.Close()  


}

如您所见,我的目标是获取输入变量(用户)并将其插入到名为 userId 的变量中。然后我想针对该变量查询数据库以获取名称。一旦一切正常,我想用用户的名字回复。


任何人都可以帮忙吗?在我继续学习围棋的过程中,我将不胜感激!


尚方宝剑之说
浏览 189回答 1
1回答
随时随地看视频慕课网APP

相关分类

Go
我要回答