我在下面的代碼中給出了未定義的錯誤sql.Open。不確定如何解決此錯誤。任何幫助解決此錯誤?79:16 sql.Open 未定義(類型字符串沒有字段或方法打開)進程退出,代碼:2 信號:假package mainimport ( "database/sql" "fmt" "io/ioutil" "log" "os" "path/filepath" "runtime" "sort" "strings" _ "github.com/go-sql-driver/mysql")const ( username = "" password = "" hostname = "" dbname = "")type Server struct { ID int Servername string IP sql.NullString `json:"ip"` OS sql.NullString `json:"os"`}func dsn(dbName string) string { return fmt.Sprintf("%s:%s@tcp(%s)/%s", username, password, hostname, dbName)}func RemoveDuplicates(xs *[]string) { found := make(map[string]bool) j := 0 for i, x := range *xs { if !found[x] { found[x] = true (*xs)[j] = (*xs)[i] j++ } } *xs = (*xs)[:j]}func main() { var TEMPDIR = os.Getenv("HOME") if runtime.GOOS == "windows" { TEMPDIR = "c:\\temp" } filename := filepath.FromSlash(TEMPDIR + "/a.txt") content, err := ioutil.ReadFile(filename) if err != nil { log.Fatal(err) } text := string(content) fmt.Println(text) w := strings.Fields(text) RemoveDuplicates(&w) sort.Strings(w) j := strings.Join(w, "','") result := "('" + j + "')" sql := "SELECT * FROM servers where servername in " + result fmt.Println("sql: ", sql) db, err := sql.Open("mysql", dbname) if err != nil { log.Printf("Error %s when opening DB\n", err) return } defer db.Close() log.Printf("Connected to DB\n")}謝謝
1 回答

慕田峪4524236
TA貢獻1875條經驗 獲得超5個贊
有陰影變量
sql := "SELECT * FROM servers where servername in " + result
fmt.Println("sql: ", sql)
db, err := sql.Open("mysql", dbname)
您需要更改sql查詢的變量名稱
- 1 回答
- 0 關注
- 144 瀏覽
添加回答
舉報
0/150
提交
取消