package main import ( mysql "github.com/Philio/GoMySQL" "os" "log" ) var db *mysql.Client func initDb() { log.SetFlags(log.Ltime | log.Lshortfile) var err os.Error db, err = mysql.DialTCP("173.228.31.111", "audio", "audio", "audio") if err != nil { log.Panicln(err) } db.Reconnect = true } func prepare(sql string, params ...interface{}) (*mysql.Statement, os.Error) { query, err := db.Prepare(sql) if err != nil { log.Println(err) return nil, err } err = query.BindParams(params...) if err != nil { log.Println(err) return nil, err } err = query.Execute() if err != nil { log.Println(err) return nil, err } return query, err } func queryInt(sql string, params ...interface{}) (int, os.Error) { query, err := prepare(sql, params...) if err != nil { return 0, err } var result int query.BindResult(&result) eof, err := query.Fetch() if err != nil { log.Println(err) return result, err } else if eof { return result, os.EOF } err = query.FreeResult() if err != nil { log.Println(err) return result, err } return result, err } // given an id ('abcd1234'), return the pid (1) func getpid(id string) int { pid, err := queryInt("SELECT `pid` FROM `playlist` WHERE `id` = ?", id) if err != nil { return -1 } return pid }