Escape ampersand aksara dalam rentetan SQL
Soalan:
Watak ampersand (&) tidak boleh dilepaskan dalam pertanyaan SQL yang mencari baris yang namanya mengandungi aksara ini.
Selesai Masalah:
Pertanyaan yang disediakan cuba untuk melepaskan ampersand dengan garis serong ke belakang () tetapi tidak berfungsi atas sebab yang tidak diketahui.
Penyelesaian 1:
Jangan gunakan aksara ampersand dalam rentetan, sebaliknya gunakan kod ASCIInya. Ini memastikan bahawa ia ditafsirkan sebagai nilai rentetan dan bukannya aksara khas.
<code class="language-sql">node_name = 'Geometric Vectors ' || chr(38) || ' Matrices'</code>
Penyelesaian 2:
Sebagai alternatif, gunakan operator LIKE untuk mencari rentetan yang mengandungi aksara ampersand yang diwakili oleh garis bawah (_). Ini mengurangkan kemungkinan memadankan rekod lain yang berbeza hanya dengan watak tanda.
<code class="language-sql">node_name LIKE 'Geometric Vectors _ Matrices'</code>
Atas ialah kandungan terperinci Bagaimana untuk Melarikan Watak Ampersand (&) dalam Pertanyaan Carian SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!