go 实现操作mysql并且防止sql注入

在最近使用go语言的同学,大家有没有操作数据库的时候遇到过sql注入的问题,sql注入会把数据库搞崩,或者是把数据库的数据全部查出造成不必要的随时,今天小程同学就给大家带来一个go中防sql注入的最好例子,大家不要忘了点赞关注呦

go 复制代码
package main

import (
	"database/sql"
	"fmt"
	_ "github.com/go-sql-driver/mysql"
	"log"
)

func main() {
	//args := os.Args
	//pre_name := args[1]
	//
	mysqlDb := getMysqlConn()
	defer mysqlDb.Close()
	getProjectAll(mysqlDb, "3432")
}

func getMysqlConn() *sql.DB {
	mysqlConfig := "rich:rich@1009@tcp(47.95.149.89:13306)/oms_epg"
	mysqlDb, err := sql.Open("mysql", mysqlConfig)
	if err != nil {
		log.Fatal("连接mysql失败", err)
		return nil
	}
	return mysqlDb
}

func getProjectAll(mysqlDb *sql.DB, preFix string) {

	stmt, err := mysqlDb.Prepare("select pre_fix, show_name from partner where pre_fix=?")
	if err != nil {
		log.Fatal(err)
		return
	}
	defer stmt.Close()
	rows, err := stmt.Query("sd_ctcc_iptv")
	for rows.Next() {
		var pre_fix string
		var show_name string
		if err := rows.Scan(&pre_fix, &show_name); err != nil {
			log.Fatal(err)
		}
		fmt.Printf("Username: %s, Password: %s\n", pre_fix, show_name)
	}

}

type project struct {
	pre_fix   string
	show_name string
}
相关推荐
小张同学824几秒前
[特殊字符]Python 进阶实战指南(PyCharm 专属优化):从高效编码到工程化落地,告别新手低效写法
开发语言·python·pycharm
梦想与想象-广州大智汇2 分钟前
告别“内存刺客”!sync-canal-go:轻量mysql实时同步数据到Elasticsearch‌,clickhouse,redis
mysql·elasticsearch·golang·同步数据
lly2024069 分钟前
PHP Math
开发语言
李日灐30 分钟前
<1>Linux基础指令:Linux 高频指令详解 + 文件与目录认知
linux·运维·服务器·开发语言·后端·命令
喜欢流萤吖~37 分钟前
SpringBoot 异步处理与线程池实战
java·开发语言
c++逐梦人38 分钟前
C++ RAII流式日志库实现
开发语言·c++
t***54439 分钟前
还有哪些设计模式适合现代C++
开发语言·c++·设计模式
Dshuishui39 分钟前
学习一下 Python 包管理器 uv
开发语言·python·uv
Wave84539 分钟前
C++ 面向对象基础:类、访问权限,构造函数,析构函数
开发语言·c++
t***54440 分钟前
如何在现代C++项目中有效应用这些设计模式
开发语言·c++·设计模式