Maison  >  Article  >  développement back-end  >  Comment insérer une entrée utilisateur dans Postgres Db à l'aide de Go

Comment insérer une entrée utilisateur dans Postgres Db à l'aide de Go

WBOY
WBOYavant
2024-02-12 08:33:08861parcourir

如何使用 Go 将用户输入插入到 Postgres Db

php小编百草为你介绍如何使用Go将用户输入插入到Postgres数据库。在现代应用程序开发中,数据库是必不可少的一部分。Postgres是一个强大的开源关系型数据库管理系统,而Go是一种简洁高效的编程语言。将用户输入安全地插入到数据库中是一项重要的任务,本文将分享一种简单且安全的方法来实现这个目标。通过以下步骤,你将学会如何使用Go编写代码,将用户输入插入到Postgres数据库中,保护数据库免受SQL注入等安全风险的威胁。让我们开始吧!

问题内容

我正在尝试将字符串插入 postgres 数据库。而且我找不到正确的语法。这是代码:

func insertdb() {
    fmt.println("write your text")
    var input string
    fmt.scanln(&input)
    insertstmt := `insert into "todos"("do_info") values(**i need this**)`
    _, e := db.exec(insertstmt)
    checkerror(e)
}

我想将 input 变量插入到我的 postgresql 数据库中。我应该如何在sql查询中的值后面写它?

values($1)

错误提示需要参数。

解决方法

您的代码会抱怨,因为查询有一个占位符 $1 并且它没有传递给 exec 函数的匹配参数。

您必须将输入传递给 exec 函数,以便它可以替换占位符。即:

    fmt.Println("Write your text")
    var input string
    fmt.Scanln(&input)
    insertstmt := `insert into todos (do_info) values($1)`
    _, err = DB.Exec(insertstmt, input)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer