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

Nội dung của một tuyên bố chuẩn bị như thế nào?

Nếu bạn đang cố gắng làm những gì có vẻ như bạn đang cố gắng làm ... đừng cố gắng làm điều đó.

Đó không phải là những gì một tuyên bố chuẩn bị sẵn (hoặc ít nhất đó không phải là những gì nó nên như vậy).

Mã máy khách của bạn không nên cố gắng nội suy các giá trị vào chuỗi truy vấn để tạo truy vấn "đã hoàn thành" để gửi đến máy chủ để thực thi. Đó là công thức dẫn đến thảm họa, chưa kể đến cảm giác an toàn sai lầm.

Các câu lệnh chuẩn bị cung cấp câu lệnh với ? chỗ dành sẵn cho máy chủ nguyên trạng, nơi máy chủ "chuẩn bị" câu lệnh để thực thi ... và sau đó máy khách gửi các tham số đến máy chủ ("ràng buộc" các tham số) để thực thi. Làm điều này, máy chủ sẽ không bao giờ bị nhầm lẫn "phần nào là SQL" và "phần nào là dữ liệu", khiến cho việc tiêm sql không thể thực hiện được và khiến việc thoát và khử trùng dữ liệu là không cần thiết.

Nếu bạn không giao tiếp trực tiếp với C-API thì bạn nên gọi các phương thức trong thư viện của mình để hiển thị các chức năng tương tự cho bạn.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chèn dữ liệu vào MySQL từ một mảng đa chiều trong php

  2. Tìm nhóm bản ghi phù hợp với nhiều giá trị

  3. MySql - Sequalize - Không thể thêm ràng buộc khóa ngoại

  4. Các ký tự \ x1a có nghĩa là gì

  5. MySQL Group_Concat () so với T-SQL String_Agg ()