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

Ví dụ về truy vấn được tham số hóa

Một truy vấn được tham số hóa về cơ bản là một truy vấn trừu tượng hóa tất cả các đầu vào. Điều này có một số tác dụng phụ tốt, như làm cho tất cả đầu vào trở nên vô hại (tức là không thể tiêm có hại) và làm cho nó nhanh hơn khi được sử dụng nhiều lần, vì nó được phân tích cú pháp và biên dịch trước, vì vậy công cụ biết cách áp dụng đầu vào đã cho. Một ví dụ trong mysql thuần túy là:

PREPARE qry FROM "INSERT INTO tbl VALUES (?)";

Câu lệnh hiện đã được biên dịch và lưu vào bộ nhớ đệm, đồng thời có thể được thực thi nhiều lần mà không cần biên dịch lại và diễn giải nó:

SET @var = "some input";
EXECUTE qry USING @var;
SET @var = "some other input";
EXECUTE qry USING @var;

Khi được sử dụng trong PHP, nó thường như thế này (rút gọn):

$stmt = prepare('INSERT INTO tbl VALUES(?)');
execute($stmt, array("some input"));
execute($stmt, array("some other input"));
execute($stmt, array("some more input"));


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để giữ lịch sử cập nhật hồ sơ trong MySQL?

  2. Cài đặt các phiên bản gói cụ thể bằng pip

  3. jqGrid - ID duy nhất cho hàng mới

  4. Lỗi khi thả cơ sở dữ liệu (Không thể rmdir '.test \', errno:17)

  5. Làm cách nào để đếm giá trị NULL trong MySQL?