Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Melarikan Diri Apostrof dalam SQL INSERT dan SELECT Statements?

Bagaimanakah Saya Melarikan Diri Apostrof dalam SQL INSERT dan SELECT Statements?

Susan Sarandon
Susan Sarandonasal
2025-01-16 11:26:58281semak imbas

How Do I Escape Apostrophes in SQL INSERT and SELECT Statements?

Mengendalikan Apostrof dalam Sisipan Data SQL

Memasukkan data yang mengandungi apostrof terus ke dalam pangkalan data SQL boleh membawa kepada ralat. Apostrof, bertindak sebagai pembatas rentetan, boleh menamatkan rentetan secara pramatang. Untuk mengelakkan ini, anda mesti melepaskan tanda kutip dalam pertanyaan SQL anda.

Kaedah Betul:

<code class="language-sql">INSERT INTO Person (First, Last) VALUES ('Joe', 'O''Brien');</code>

Perhatikan cara tanda kutip dalam "O'Brien" dilarikan dengan menggandakannya (''). Ini jelas menunjukkan kepada pangkalan data bahawa ia adalah sebahagian daripada rentetan, bukan pembatas.

Pengendalian Apostrof dalam Penyata PILIH:

Teknik melarikan diri yang sama digunakan untuk SELECT pertanyaan:

<code class="language-sql">SELECT First, Last FROM Person WHERE Last = 'O''Brien';</code>

Kenapa Melarikan Diri?

Peranan apostrof sebagai sempadan rentetan dalam SQL memerlukan melarikan diri. Menggandakannya memastikan pangkalan data mentafsirkannya sebagai data dengan betul, menghalang penamatan rentetan pramatang.

Meloloskan Diri Automatik dalam Pengaturcaraan:

Memanipulasi SQL secara langsung dengan pertanyaan mentah memerlukan tanda kutip manual melarikan diri. Walau bagaimanapun, kebanyakan bahasa pengaturcaraan dan rangka kerja pangkalan data menawarkan fungsi terbina dalam untuk mengendalikan pelarian secara automatik, menghalang kelemahan suntikan SQL. Menggunakan fungsi ini amat disyorkan.

Atas ialah kandungan terperinci Bagaimanakah Saya Melarikan Diri Apostrof dalam SQL INSERT dan SELECT Statements?. 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