如何使用go lang从mysql中获取多个列

时间:2015-07-02 06:12:26

标签: mysql web go

我正在尝试使用 go 语言在mysql数据库中获取多个列。目前我可以修改这个脚本,它可以很好地用于获取一列,并使用http打印功能打印它。但是,当它取出两个东西时,脚本不再起作用。我不知道我需要做些什么来解决它。我知道sql很好,因为我在mysql终端测试了它,它给了我想要的预期结果。

 conn, err := sql.Open("mysql", "user:password@tcp(localhost:3306)/database")
 statement, err := conn.Prepare("select first,second from table") 
 rows, err := statement.Query()
 for rows.Next() {
         var first string
         rows.Scan(&first)
         var second string
         rows.Scan(&second)
         fmt.Fprintf(w, "Title of first is :"+first+"The second is"+second)
 }
 conn.Close()

1 个答案:

答案 0 :(得分:2)

您使用的是错误的变量名称,但我认为这只是示例代码中的“拼写错误”。

然后正确的语法是:

var first, second string
rows.Scan(&first, &second)

请参阅this了解Scan(dest ...interface{})的含义以及如何使用它。

您还应该处理而不是忽略错误。

最后,您应该按照预期使用Fprintf

fmt.Fprintf(w, "Title of first is : %s\nThe second is: %s", first, second)