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
}
相关推荐
en.en..2 分钟前
TCP/UDP 收发流程(网络字节序---函数讲解)
开发语言·php
名字还没想好☜15 分钟前
Go 用 json.Decoder 流式解析大 JSON:边读边处理不爆内存
开发语言·后端·golang·go·json
xiangyun6118 分钟前
【408数据结构 03】线性表与顺序表:C++手写SeqList
开发语言·数据结构·c++
Lsir10110_33 分钟前
从按钮“点不动“讲起——深入理解 Qt 信号槽机制
开发语言·qt·信号处理
君科程序定做35 分钟前
用 IDL 处理高分一号(GF-1 / GF-1B/C/D)数据
c语言·开发语言
敲代码的嘎仔37 分钟前
用 Redis 合并写 + DelayQueue 延迟检测,把视频播放进度写库频率降到 1/60
java·开发语言·数据库·redis·缓存·音视频·高并发
代码中介商1 小时前
C++ 预约系统实战(一):项目总览与 C/S 架构设计
c语言·开发语言·c++
我叫汪枫1 小时前
RAG 进阶:切分、检索、重排序,以及它和 Agent、微调、MCP 都是什么关系
开发语言·python
弘毅 失败的 mian1 小时前
数组和指针基础
c语言·开发语言·经验分享·笔记
ai小陈2 小时前
Python 3.12与CUDA 12.8镜像实战:启动GPU实例后的五项自检
开发语言·人工智能·python·深度学习·ai·gpu算力