From 95c7bfe93376924702fcdb045fec572bf71c2cdc Mon Sep 17 00:00:00 2001 From: janic Date: Tue, 25 Oct 2022 23:30:42 +0200 Subject: [PATCH] Connect to db (not working yet) --- makefile | 2 +- src/api/helper/11_QueryDB.go | 40 ++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 src/api/helper/11_QueryDB.go diff --git a/makefile b/makefile index 27a22f8..03aef1e 100644 --- a/makefile +++ b/makefile @@ -40,7 +40,7 @@ api: api-start api-init: cd src/api; go build -o ../../bin/engine_x_mgmt api-start: - ./bin/engine_x_mgmt & + cd bin; ./engine_x_mgmt api-stop: # Setup UI diff --git a/src/api/helper/11_QueryDB.go b/src/api/helper/11_QueryDB.go new file mode 100644 index 0000000..6fe1b26 --- /dev/null +++ b/src/api/helper/11_QueryDB.go @@ -0,0 +1,40 @@ +package helper + +import ( + "database/sql" + "encoding/json" + "fmt" + + _ "github.com/go-sql-driver/mysql" +) + +func QueryString(queryStr string) []byte { + db_string := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s", Db_User, Db_Pass, Db_Host, Db_Port, Db_Default_Db) + conn, err := sql.Open("mysql", db_string) + if err != nil { + LogErrorWarning(err) + return []byte("Error while connecting to database") + } + defer conn.Close() + + qdata, err := conn.Query(queryStr) + LogErrorWarning(err) + defer qdata.Close() + + kvp := make(map[string]string) + + for qdata.Next() { + var key string + var value string + + err = qdata.Scan(&key, &value) + LogErrorWarning(err) + kvp[key] = value + } + + jsonData, err := json.Marshal(kvp) + if err != nil { + return []byte("Error while generating json") + } + return jsonData +}