Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memasukkan Petikan Tunggal dengan Selamat ke dalam Pangkalan Data PostgreSQL?

Bagaimana untuk Memasukkan Petikan Tunggal dengan Selamat ke dalam Pangkalan Data PostgreSQL?

Linda Hamilton
Linda Hamiltonasal
2025-01-23 14:27:11991semak imbas

How to Safely Insert Single Quotes into a PostgreSQL Database?

Sisipkan teks yang mengandungi petikan tunggal dalam pangkalan data PostgreSQL

Memasukkan teks yang mengandungi petikan tunggal ke dalam jadual PostgreSQL memerlukan pengendalian khas untuk mengelakkan ralat sintaks.

Escape petikan tunggal

Larian SQL standard melibatkan penggandaan petikan tunggal, seperti log 'pengguna'. PostgreSQL juga menyokong penggunaan pelarian segaris terbalik, seperti E'log pengguna'. Walau bagaimanapun, secara amnya disyorkan untuk menggunakan kaedah pelarian petikan berganda standard.

Jika anda perlu mengendalikan berbilang peringkat petikan melarikan diri atau bersarang, anda boleh menggunakan tanda dolar untuk memetik rentetan. Contohnya, $$escape ' dengan ''$$ atau $token$escape ' dengan ''$token$.

Sediakan nilai

Apabila memasukkan nilai yang mengandungi petikan tunggal ke dalam pangkalan data, nilai tersebut mesti dipetik dengan betul untuk mengelakkan ralat. PostgreSQL menyediakan beberapa fungsi untuk ini:

  • quote_literal(): Keluarkan petikan tunggal dalam rentetan dan kembalikan nilai petikan.
  • quote_nullable(): Serupa dengan quote_literal(), tetapi mengeluarkan NULL untuk input kosong.
  • format(): Gunakan penentu format %L untuk menggunakan petikan bersamaan dengan quote_nullable().

Elakkan menggunakan sambungan

Menggunakan fungsi seperti concat() dan concat_ws() untuk melepaskan petikan tunggal tidak disyorkan kerana ia tidak melepaskan petikan bersarang atau garis miring ke belakang.

Contoh

Untuk memasukkan nilai yang diperlukan ke dalam jadual test:

<code class="language-sql">insert into test values (1, quote_literal('user''s log'));
insert into test values (2, quote_literal('my user''s'));
insert into test values (3, quote_literal('customer''s'));</code>

Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Petikan Tunggal dengan Selamat ke dalam Pangkalan Data PostgreSQL?. 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