Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách thoát các ký tự dấu ngoặc kép trong MySQL và Java

Hãy để tôi thử và hiểu ...

Tập tin đến có dấu ngoặc kép trong đó. Bạn muốn gửi nó đến cơ sở dữ liệu. Khi bạn lấy lại từ cơ sở dữ liệu thì bạn vẫn muốn những dấu ngoặc kép đó ở đó.

Vì vậy, có phải chỉ đến / từ cơ sở dữ liệu mà bạn đang gặp sự cố của mình không?

Nếu vậy thì tôi đánh giá cao nghi ngờ bạn đang làm điều gì đó theo thứ tự:(Tôi gói nó trong một tuyên bố từ chối trách nhiệm để giữ cho những người không nghi ngờ khỏi hiểu lầm và cắt / dán vào các ứng dụng của chính họ.;))

Không tốt - không làm điều này

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

Xấu - đừng làm vậy

Nếu vậy thì bạn thực sự nên sử dụng các tham số của câu lệnh đã chuẩn bị ở mức tối thiểu. a) bạn sẽ ít bị ảnh hưởng bởi rác độc hại xóa tất cả các bảng của bạn và b) bạn sẽ không gặp bất kỳ sự cố thoát nào.

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

Lưu ý rằng nó cũng an toàn hơn trong trường hợp những thứ như CLOB và các chi tiết cụ thể của các triển khai cơ sở dữ liệu khác nhau (tôi đang nghĩ đến bạn, Oracle>))

Nếu đó là một số kiểu thoát khác, tức là đến / từ XML hoặc đến / từ HTML thì khác, nhưng nó được ghi lại đầy đủ trên web.

Hoặc cung cấp một số mã ví dụ nếu tôi hoàn toàn không có cơ sở.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 1054 - Cột không xác định 'apa_calda' trong 'mệnh đề where'

  2. Django - Làm thế nào để liên kết với cơ sở dữ liệu kế thừa thông qua trung gian?

  3. Truy vấn Mysql để xóa các bình luận Wordpress trùng lặp?

  4. cách thoát dấu phân cách khỏi nội dung cột khi xuất csv

  5. MYSQL:CHỌN tổng các giá trị trường đồng thời CHỌN các giá trị duy nhất?