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

Bagaimana cara menghindari karakter kutipan di MySQL dan Java

Biarkan saya mencoba dan mengerti...

File yang masuk memiliki tanda kutip di dalamnya. Anda ingin mengirimkannya ke database. Saat Anda mendapatkannya kembali dari database, Anda masih ingin kutipan itu ada di sana.

Jadi, apakah hanya ke/dari database Anda mengalami masalah?

Jika demikian maka saya sangat curiga Anda melakukan sesuatu dengan urutan:(Saya membungkusnya dalam penafian untuk menjaga agar tidak curiga dari kesalahpahaman dan memotong/menempel ke aplikasi mereka sendiri.;))

Buruk - jangan lakukan ini

String sql = "insert into foo (bar,baz) values(" +myValue1 + ", " + myValue2 + ")";
Statement stmt = connection.createStatement();
stmt.executeUpdate(sql);

Buruk - jangan lakukan itu

Jika demikian maka Anda harus benar-benar menggunakan parameter pernyataan yang disiapkan minimal. a) Anda tidak akan terlalu rentan terhadap sampah berbahaya yang menghapus semua tabel Anda, dan b) Anda tidak akan mengalami masalah meloloskan diri.

String sql = "insert into foo (bar, baz) values( ?, ? )";
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setString(1, myValue1);
stmt.setString(2, myValue2);
stmt.executeUpdate();

Perhatikan bahwa ini juga lebih aman dalam hal hal-hal seperti CLOB dan spesifik dari implementasi basis data yang berbeda (saya memikirkan Anda, Oracle>))

Jika ini adalah jenis pelarian lain, yaitu, ke/dari XML atau ke/dari HTML, maka itu berbeda, tetapi didokumentasikan dengan baik di seluruh web.

Atau berikan beberapa contoh kode jika saya benar-benar tidak waras.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 'nilai' kolom BLOB/TEXT digunakan dalam spesifikasi kunci tanpa panjang kunci

  2. Bergabunglah dan banyak serta ketentuan

  3. COALESCE di laravel

  4. Beberapa kueri dieksekusi di java dalam satu pernyataan

  5. Pilih menggunakan nama tabel yang dibuat secara dinamis