Prepared Statements trong php
Prepared Statements trong php

1. Cơ chế Prepared Statements trong PHP – Khái niệm

Prepared Statements trong PHP là gì?

Prepared Statements trong PHP là một tính năng được sử dụng để thực hiện các câu lệnh SQL giống nhau (hoặc tương tự) lặp đi lặp lại với hiệu quả cao.

Cú pháp

$stmt = $conn->prepare(“INSERT INTO table_name (column1, column2, column3) VALUES (?, ?, ?)”);

Bound Parameters là gì?

Bound Parameters được sử dụng để truyền dữ liệu vào câu lệnh Prepared Statements trong PHP.

Cú pháp

$stmt->bind_param(“sss”, $value1, $value2, $value3);

Trong đó “sss” là liệt kê các loại dữ liệu sẽ được truyền vào. Ký tự s nói với mysql rằng tham số là một chuỗi.

Tham số có thể là một trong bốn loại:

  • i – integer
  • d – double
  • s – string
  • b – BLOB

Chúng ta phải có một trong số các ký tự trên cho mỗi tham số. Bằng cách nói mysql loại dữ liệu được sử dụng, chúng ta có thể giảm thiểu nguy cơ SQL injection.

Prepared Statements trong PHP hoạt động như thế nào?

Prepared Statement trong PHP về cơ bản hoạt động như sau:

  1. Prepared: Một mẫu câu lệnh SQL được tạo ra và gửi đến cơ sở dữ liệu. Một số giá trị còn lại không được xác định, được gọi là các tham số (có gắn nhãn “?”). Ví dụ: INSERT INTO MyGuests VALUES (?,?,?).
  2. Cơ sở dữ liệu phân tích cú pháp, biên dịch và thực hiện tối ưu hoá truy vấn trên mẫu câu lệnh SQL sau đó lưu chúng lại, lúc này SQL vẫn chưa được thực thi.
  3. Execute: Vào thời điểm này, nó sẽ liên kết các giá trị với các tham số, và cơ sở dữ liệu thực thi câu lệnh. Nó có thể thực hiện câu lệnh nhiều lần theo ý muốn với các giá trị khác nhau.

Ưu điểm khi sử dụng Prepared Statements trong PHP là gì?

So với việc thực hiện các câu lệnh SQL trực tiếp, Prepared Statement trong PHP có ba ưu điểm chính:

  • Prepared Statement trong PHP làm giảm thời gian phân tích cú pháp vì việc chuẩn bị trên truy vấn chỉ được thực hiện một lần (mặc dù câu lệnh được thực hiện nhiều lần).
  • Bound parameters giảm thiểu băng thông tới máy chủ vì mỗi lần dùng bạn chỉ cần gửi các tham số, chứ không phải toàn bộ câu SQL.
  • Prepared statements trong PHP rất hữu ích trong việc ngăn chặn SQL injections.

2. Prepared Statements trong PHP với MySQLi

Ví dụ dưới đây sử dụng Prepared Statements trong PHP với MySQLi:

3. Prepared Statements trong PHP với PDO

Ví dụ dưới đây sử dụng Prepared Statements trong PHP với PDO:

4. Lời kết

Phần này khá dài phải không nào hihi 🙂 , như vậy tổng kết lại trong phạm vi bài này thì các bạn đã hiểu dược Prepared Statements và Bound Parameters là gì rồi, cách thức hoạt động cũng như lợi ích của nó ra sao, cách sử dụng trong MySQLi và PDO như thế nào. Làm 1 tách cà phê thư giản rồi hãy qua bài mới nhé! 🙂 Lộ trình học PHP – Tổng hợp PHP – Căn bản – Nâng cao

 

Nguồn: phpcanban.com

Cơ Chế Prepared Statements Trong PHP+MySQL
5 (100%) 2 votes

Chia sẻ
Bài trướcLệnh INSERT Nhiều Dữ Liệu Cùng Lúc Bằng PHP
Bài tiếp theoLệnh SELECT Lấy Dữ Liệu Trong MySQL
Mình là Nguyễn Công! Mình bắt đầu kiếm tiền Online từ năm 2017 và nhờ đó mà có thu nhập rất ổn định. Mình chia sẽ những dự án kiếm tiền Online tốt nhất đã được khảo sát và chắt lọc cho các bạn. Hy vọng thông qua những bài viết phân tích đánh giá ICO các bạn sẽ đưa ra quyết định đầu tư thành công!. Chúc các bạn một ngày nhiều niềm vui! Group Facebook: https://goo.gl/CXVpWU Group Telegram: https://goo.gl/7w3c4t

BÌNH LUẬN

Please enter your comment!
Please enter your name here