GO言語のフレームワークrevelを使用して、SQLを実行し、画面に表示させる処理を行いたいのですが、
エラーとなってしまいます。
Go
1package controllers 2 3import ( 4 "github.com/revel/revel" 5 "fmt" 6 "database/sql" 7) 8 9type App struct { 10 *revel.Controller 11} 12 13type Result struct { 14 Gid int 15 Reference int 16 Transid int 17} 18 19func (c App) Index() revel.Result { 20 21 db, err := sql.Open("mysql", "dg:dgc@tcp(192.168.1.164:3306)/eleccharge") 22 if err != nil { 23 fmt.Println(err) 24 } 25 var ( 26 gid int 27 reference int 28 transid int 29 ) 30 31 rows, err := db.Query("select gid, reference, transid from selcom_transaction_verify limit 10;") 32 if err != nil { 33 fmt.Println(err) 34 } 35 36 for rows.Next() { 37 err := rows.Scan(gid, reference, transid) 38 if err != nil { 39 fmt.Println(err) 40 } 41 fmt.Println(gid, reference, transid) 42 } 43 defer rows.Close() 44 return c.Render(rows) 45} 46
エラー内容
Runtime Panic runtime error: invalid memory address or nil pointer dereference In /github.com/myaccount/test2/app/controllers/app.go > rows, err := db.Query("select gid, reference, transid from selcom_transaction_verify limit 10;") ※エラー対象行
エラー行の":="を"="にしたり、
db.QueryをQueryRowにしたり、
"select gid, reference, transid from selcom_transaction_verify limit 10;"を"select gid, reference, transid from selcom_transaction_verify limit ?, 10"
にしてみましたが、同様のエラーとなってしまいます。
どなたか、わかる方ご教授いただけないでしょうか。
何卒よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/17 03:09 編集