Masukkan nilai yang mengandungi petikan tunggal dalam pangkalan data SQL
Memandangkan petikan tunggal berfungsi sebagai pembatas untuk data rentetan dalam SQL, memasukkan nilai yang mengandungi petikan tunggal ke dalam jadual SQL boleh menjadi rumit.
Contoh:
Pertimbangkan pernyataan SQL INSERT berikut:
<code class="language-sql">INSERT INTO Person (First, Last) VALUES ('Joe', 'O'Brien')</code>
Pernyataan ini akan menimbulkan ralat kerana petikan tunggal selepas "O" ditafsirkan sebagai penghujung nilai.
Penyelesaian: Melarikan diri petikan tunggal
Untuk memasukkan nilai yang mengandungi petikan tunggal, anda perlu melarikan diri daripada aksara dengan menggandakan petikan tunggal.
<code class="language-sql">INSERT INTO Person (First, Last) VALUES ('Joe', 'O''Brien')</code>
Dalam contoh ini, petikan tunggal selepas "O" dilarikan oleh petikan tunggal yang lain.
Berlaku pada pertanyaan PILIH
Peraturan melarikan diri yang sama juga digunakan pada pertanyaan PILIH. Contohnya, untuk mencari orang dengan nama keluarga "O'Brien":
<code class="language-sql">SELECT First, Last FROM Person WHERE Last = 'O''Brien'</code>
Penerangan Teknikal
Petikan tunggal ialah aksara khas dalam SQL kerana ia menunjukkan permulaan dan penghujung data rentetan. Untuk menggunakan petikan tunggal sebagai sebahagian daripada nilai rentetan, status aksara khasnya perlu dilepaskan. Ini biasanya dilakukan dengan menggandakan watak.
Nota
Apabila berurusan dengan data yang mungkin mengandungi aksara khas, adalah idea yang baik untuk melarikan diri daripada aksara ini sebelum memasukkannya ke dalam pangkalan data. Ini membantu mencegah serangan suntikan SQL dan kelemahan lain. Dalam kod, rangka kerja dan alatan harus mengendalikan ini untuk anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Memasukkan Nilai dengan Apostrof ke dalam Pangkalan Data SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!