dbmysql.go 1.15 KB
package mysql

import (
	"HttpServer/conf"
	"common/logger"
	"database/sql"
	"fmt"
	_ "github.com/go-sql-driver/mysql"
	"strconv"
)

var (
	m_game_db             *sql.DB
)

func InitMysql() error {
	db, err := InitMysqlByConf(conf.GetGameDBConf())
	if err != nil {
		return err
	}
	m_game_db = db
	return nil
}

func InitMysqlByConf(cfg conf.MysqlConf) (*sql.DB, error) {
	url := cfg.User + ":" + cfg.Pwd + "@tcp(" + cfg.Ip + ":" + strconv.Itoa(cfg.Port) + ")/" + cfg.Database + "?charset=utf8"
	db, err := sql.Open("mysql", url)
	if err != nil {
		logger.Notic("Open mysql failed:%v url:%v", err, url)
		return nil, err
	}
	return db, nil
}

func TestClearData(uid int) (int,error) {
	cmd := fmt.Sprintf("select coin from b_user_ext_04 where user_id=%d", uid)

	rows, err := m_game_db.Query(cmd)
	if rows != nil {
		defer rows.Close()
	}
	if err != nil {
		logger.Notic("TestClearData mysql select error:%v", err)
		return 0,err
	}


	var value int
	for rows.Next() {

		err = rows.Scan(&value)
		if err != nil {
			logger.Notic("TestClearData mysql handle result error:%v", err)
			return 0,err
		}
		logger.Info("TestClearData coin=%v",value)

		break
	}
	return value,nil
}