> 백엔드 개발 > Golang > Go를 사용하여 Postgres Db에 사용자 입력을 삽입하는 방법

Go를 사용하여 Postgres Db에 사용자 입력을 삽입하는 방법

WBOY
풀어 주다: 2024-02-12 08:33:08
앞으로
882명이 탐색했습니다.

如何使用 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)
로그인 후 복사

위 내용은 Go를 사용하여 Postgres Db에 사용자 입력을 삽입하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:stackoverflow.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿