Bagaimana untuk memasukkan input pengguna ke dalam Postgres Db menggunakan Go

WBOY
Lepaskan: 2024-02-12 08:33:08
ke hadapan
859 orang telah melayarinya

如何使用 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)
}
Salin selepas log masuk

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

values($1)
Salin selepas log masuk

错误提示需要参数。

解决方法

您的代码会抱怨,因为查询有一个占位符 $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)
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk memasukkan input pengguna ke dalam Postgres Db menggunakan Go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan