Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menggabungkan Rentetan dengan Selamat dalam Pertanyaan SQL dengan Go?

Bagaimana untuk Menggabungkan Rentetan dengan Selamat dalam Pertanyaan SQL dengan Go?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-31 21:47:01934semak imbas

How to Safely Concatenate Strings in SQL Queries with Go?

Menggabungkan Rentetan dalam Pertanyaan SQL dalam Go

Walaupun pertanyaan SQL teks menawarkan kaedah mudah untuk menanya pangkalan data, adalah penting untuk memahami pendekatan yang betul untuk menggabungkan literal rentetan dengan nilai untuk mengelakkan ralat sintaks dan tidak padan taip.

Sintaks pertanyaan yang disediakan:

query := `SELECT column_name FROM table_name
        WHERE column1_name = %d AND column2_name = %d` % (val1, val2)

menghasilkan ralat sintaks disebabkan penggunaan tuple gaya Python. Sebaliknya, gunakan fmt.Sprintf untuk menggabungkan rentetan dan nilai:

query := fmt.Sprintf(`SELECT column_name FROM table_name
                     WHERE column1_name = %d AND column2_name = %d`, val1, val2)

Sebagai alternatif, anda boleh menggunakan db.Query untuk menggabungkan rentetan tanpa interpolasi rentetan:

query := `SELECT column_name FROM table_name
        WHERE column1_name = %d AND column2_name = %d`

rows, err := db.Query(query, val1, val2)

Ingat untuk menangani suntikan kelemahan dengan menggunakan pernyataan yang disediakan dan bukannya interpolasi rentetan.

Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Rentetan dengan Selamat dalam Pertanyaan SQL dengan Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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