Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara menghindari karakter khusus di MySQL?

Informasi yang diberikan dalam jawaban ini dapat menyebabkan praktik pemrograman yang tidak aman.

Informasi yang diberikan di sini sangat bergantung pada konfigurasi MySQL, termasuk (namun tidak terbatas pada) versi program, klien basis data, dan pengkodean karakter yang digunakan.

Lihat http://dev.mysql.com/doc/ refman/5.0/en/string-literals.html

MySQL recognizes the following escape sequences.
\0     An ASCII NUL (0x00) character.
\'     A single quote (“'”) character.
\"     A double quote (“"”) character.
\b     A backspace character.
\n     A newline (linefeed) character.
\r     A carriage return character.
\t     A tab character.
\Z     ASCII 26 (Control-Z). See note following the table.
\\     A backslash (“\”) character.
\%     A “%” character. See note following the table.
\_     A “_” character. See note following the table.

Jadi, Anda perlu

select * from tablename where fields like "%string \"hi\" %";

Meskipun sebagai Catatan Bill Karwin di bawah , menggunakan tanda kutip ganda untuk pembatas string bukanlah SQL standar, jadi sebaiknya gunakan tanda kutip tunggal. Ini menyederhanakan banyak hal:

select * from tablename where fields like '%string "hi" %';


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah menutup koneksi mysql itu penting?

  2. Menulis parameter opsional dalam prosedur tersimpan di MySQL?

  3. Injeksi SQL yang mengatasi mysql_real_escape_string()

  4. Bagaimana cara saya terhubung ke Database MySQL dengan Python?

  5. Pemicu MySQL saya tidak berfungsi, sintaks sederhana, tidak rumit