我正在嘗試使用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 關注
- 214 瀏覽
添加回答
舉報
0/150
提交
取消
