gpt4 book ai didi

mysql - 如何将用户的输入传递到 INSERT 查询(MySQL)?去

转载 作者:行者123 更新时间:2023-12-01 22:34:54 24 4
gpt4 key购买 nike

初学者编码器在这里。我想知道如何获取用户输入(扫描仪)并在 MySQL 数据库中创建一个新行。下面是我在不要求用户输入的情况下插入的代码。

func insert(tabel string) {

login := dbGebruikersnaam + ":" + dbWachtwoord
db, err := sql.Open("mysql", login+"@/vanderbinckesdb")

insert, err := db.Exec("INSERT INTO bakfiets VALUES ( 8, 'TEST', 'TEST', 10, 10, 10 )")
if err != nil {
panic(err.Error())
}
fmt.Println(insert)
}

如果可能的话,我想请用户自己用(扫描仪)输入值。我为它制作了以下结构。
package main

type Bakfiets struct {
Bakfietsnummer int
Naam string
Type string
Huurprijs float64
Aantal int
Aantal_verhuurd int
}

最佳答案

您可以将参数传递给 db.Exec . $1, $2, $3...是它们的占位符,也可以确保防止 SQL 注入(inject)。像这样的东西:

func insert(b *Bakfiets) error {

login := dbGebruikersnaam + ":" + dbWachtwoord
db, err := sql.Open("mysql", login+"@/vanderbinckesdb")

insert, err := db.Exec("INSERT INTO bakfiets VALUES ($1, $2, $3, $4, $5, $6)", b.Bakfietsnummer, b.Naam, b.Type, b.Huurprijs, b.Aantal, b.Aantal_verhuurd)
if err != nil {
return err
}
fmt.Println(insert)
return nil
}

关于mysql - 如何将用户的输入传递到 INSERT 查询(MySQL)?去,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59731211/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com