Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Memasukkan Teks dengan Petikan Tunggal dengan Selamat ke dalam Pangkalan Data PostgreSQL?

Bagaimanakah Saya Memasukkan Teks dengan Petikan Tunggal dengan Selamat ke dalam Pangkalan Data PostgreSQL?

Barbara Streisand
Lepaskan: 2025-01-23 14:34:11
asal
684 orang telah melayarinya

How Do I Safely Insert Text with Single Quotes into a PostgreSQL Database?

Mengendalikan Petikan Tunggal dalam Sisipan Teks PostgreSQL

Memasukkan teks yang mengandungi petikan tunggal ke dalam pangkalan data PostgreSQL memerlukan pengendalian yang teliti untuk mengelakkan ralat sintaks dan kelemahan keselamatan seperti suntikan SQL. Panduan ini menggariskan kaedah yang selamat dan berkesan.

Melepaskan Petikan Tunggal: Kaedah Petikan Berganda

Pendekatan paling mudah ialah menggandakan petikan tunggal dalam rentetan. Contohnya, untuk memasukkan "log pengguna", gunakan pertanyaan ini:

<code class="language-sql">INSERT INTO test VALUES (1, 'user''s log');</code>
Salin selepas log masuk

Walaupun melarikan diri dengan garis miring ke belakang () adalah mungkin, ia kurang diutamakan dan harus dikhaskan untuk situasi yang menggandakan petikan tidak boleh dilaksanakan.

Rentetan Petikan Dolar: Penyelesaian Teguh

Untuk rentetan kompleks atau situasi dengan petikan bersarang, rentetan petikan dolar PostgreSQL menyediakan penyelesaian yang unggul. Disertakan dalam $$, rentetan ini membolehkan pengendalian aksara khas yang lebih mudah, termasuk tanda dolar itu sendiri (yang perlu melarikan diri jika ada).

<code class="language-sql">$$escape ' with ''$$</code>
Salin selepas log masuk

Menggunakan Fungsi Petikan Terbina dalam PostgreSQL

PostgreSQL menawarkan fungsi seperti quote_literal(), quote_nullable() dan format() (dengan penentu %L) untuk menjana rentetan yang dipetik secara automatik untuk pertanyaan SQL, menghapuskan pelarian manual dan mengurangkan risiko ralat.

<code class="language-sql">format('%L', string_var)</code>
Salin selepas log masuk

Utamakan Penyata Disediakan untuk Keselamatan

Yang penting, teknik pelarian rentetan ini bukan pengganti untuk pernyataan yang disediakan atau pertanyaan berparameter. Kaedah ini adalah cara paling berkesan untuk menghalang serangan suntikan SQL dengan mengasingkan data daripada arahan SQL itu sendiri. Sentiasa utamakan pernyataan yang disediakan untuk interaksi pangkalan data yang selamat.

Atas ialah kandungan terperinci Bagaimanakah Saya Memasukkan Teks dengan Petikan Tunggal dengan Selamat ke dalam Pangkalan Data PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan