PracowniaProgramowania/backend/connector_mysql.go

95 lines
1.9 KiB
Go
Raw Normal View History

package main
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
)
func connectMysql() (*sql.DB, error) {
db, err := sql.Open("mysql", "root:password@tcp(127.0.0.1:3306)/golang_user")
if err != nil {
panic(err.Error())
}
return db, nil
}
func addUser(_login string, _password string, _userDescription string, _points int) {
//do rejestracji uzytkownika
// Insert do bazy Mysql Nowego użytkownika
db, err := connectMysql()
if err != nil {
panic(err.Error())
}
queryInsert := fmt.Sprintf(`INSERT INTO users (
login,
password,
userDescription,
points
)VALUES (
"%s",
"%s",
"%s",
"%d"
)`, _login, _password, _userDescription, _points)
fmt.Printf(queryInsert)
insert, err := db.Query(queryInsert)
if err != nil {
panic(err.Error())
}
fmt.Println(insert)
}
func getAllUsers() []User {
//pobiera wszystkich uzytkownikow - do wysiwetlenie na front
/* --------------------- users -----------------------
userId int `json:"id"` // do pobierania z GET
login string `json:"login"`
password string `json:"password"`
userDescription string `json:"userDescription"`
points int `json:points`
*/
allUsers := []User{}
db, err := connectMysql()
result, err := db.Query("SELECT * FROM users")
if err != nil {
panic(err.Error())
}
for result.Next() {
var user User
err = result.Scan(&user.userId, &user.login, &user.password, &user.userDescription, &user.points)
if err != nil {
panic(err.Error())
}
allUsers = append(allUsers, user)
}
return allUsers
}
func main() {
fmt.Println("Go Mysql Tutorial")
// db, err := connectMysql()
// // db, err := sql.Open("mysql", "root:password@tcp(127.0.0.1:3306)/golang_user")
// fmt.Println(reflect.TypeOf(db))
// fmt.Println(reflect.TypeOf(err))
addUser("login10", "password", "userDescription", 123)
allUsers := getAllUsers()
fmt.Println(allUsers)
}