Pernyataan Disediakan dengan Like Wildcard: Panduan Lengkap
Dalam bidang pertanyaan pangkalan data, pernyataan yang disediakan menawarkan cara yang selamat dan cekap untuk laksanakan pertanyaan berparameter. Apabila mencari data berdasarkan kata kunci atau corak tertentu, kad bebas LIKE akan dimainkan.
Untuk menggunakan kad bebas LIKE dengan berkesan dengan pernyataan yang disediakan, adalah penting untuk memahami peletakannya dalam kod. Bertentangan dengan menambahkannya secara langsung pada pernyataan yang disediakan itu sendiri (seperti dalam pstmt.setString(1, nota "%)), anda perlu memasukkannya ke dalam nilai itu sendiri.
Sebagai contoh, untuk melakukan padanan awalan , gunakan pendekatan berikut:
notes = notes .replace("!", "!!") .replace("%", "!%") .replace("_", "!_") .replace("[", "!["); PreparedStatement pstmt = con.prepareStatement( "SELECT * FROM analysis WHERE notes LIKE ? ESCAPE '!'"); pstmt.setString(1, notes + "%");
Untuk padanan akhiran, ubah suai ia sebagai berikut:
pstmt.setString(1, "%" + notes);
Dan untuk perlawanan global, gunakan sintaks ini:
pstmt.setString(1, "%" + notes + "%");
Adalah penting untuk ambil perhatian bahawa melarikan diri daripada aksara khas dalam rentetan (seperti "%" dan "_ ") adalah penting untuk mengelakkan kelemahan suntikan SQL. Dengan berbuat demikian, anda memastikan bahawa kad bebas LIKE ditafsirkan dengan betul dan melindungi pangkalan data anda daripada serangan berniat jahat.
Dengan demonstrasi yang mendalam ini, anda kini boleh menggunakan kad bebas LIKE dengan berkesan dalam kenyataan yang disediakan, membolehkan anda melaksanakan keupayaan carian pangkalan data yang teguh dan selamat dalam aplikasi anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Kad Liar LIKE dengan Penyata Disediakan dengan Selamat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!