我正在尝试使用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 回答
沧海一幻觉
TA贡献1824条经验 获得超5个赞
您使用了错误的变量名称,但我认为这只是示例代码中的“错字”。
那么正确的语法是:
var first, second string
rows.Scan(&first, &second)
看看这个是什么Scan(dest ...interface{})意思以及如何使用它。
您还应该处理而不是忽略错误。
最后,您应该按预期使用Fprintf:
fmt.Fprintf(w, "Title of first is : %s\nThe second is: %s", first, second)
- 1 回答
- 0 关注
- 181 浏览
添加回答
举报
0/150
提交
取消