Tại sao chúng ta sử dụng câu lệnh đã chuẩn bị trong php?
Trước khi chạy bất kỳ truy vấn nào với mysqli, hãy đảm bảo rằng bạn đã có một biến kết nối mysqli được cấu hình phù hợp, cần thiết để chạy các truy vấn SQL và để thông báo cho bạn về các lỗi có thể xảy ra Show Bạn phải luôn sử dụng 2 cho mọi truy vấn SQL có chứa biến PHP. Để làm như vậy, hãy luôn làm theo các bước dưới đây
Tóm lại, đây là mã
Và để truy vấn CHỌN của bạn được thực thi mà không có một lỗi cú pháp hoặc SQL injection nào Lời giải chi tiếtHãy xem mỗi dòng mã này có ý nghĩa gì
Giống như đã nói ở trên, đầu tiên chúng ta viết một truy vấn SQL trong đó tất cả các biến được thay thế bằng các dấu chấm hỏi
Sau đó, truy vấn được chuẩn bị. Ý tưởng rất thông minh. Để tránh ngay cả khả năng tiêm SQL hoặc lỗi cú pháp do dữ liệu đầu vào gây ra, truy vấn và dữ liệu được gửi đến máy chủ cơ sở dữ liệu một cách riêng biệt. Vì vậy, nó tiếp tục ở đây. với 3, chúng tôi đang gửi truy vấn tới máy chủ cơ sở dữ liệu trước. Một biến đặc biệt, một câu lệnh được tạo ra như một kết quả. Chúng tôi sẽ sử dụng biến này từ bây giờ
Sau đó, các biến phải được liên kết với câu lệnh. Cuộc gọi bao gồm hai phần - chuỗi với các loại và danh sách các biến. Với mysqli, bạn phải chỉ định loại cho từng biến bị ràng buộc. Nó được biểu thị bằng một chữ cái trong tham số đầu tiên. Số lượng chữ cái phải luôn bằng số lượng biến. Các loại có thể là
Vì vậy, bây giờ bạn có thể nói rằng "s" có nghĩa là "sẽ có 1 biến, kiểu chuỗi"
Sau đó, truy vấn cuối cùng được thực hiện. Có nghĩa là các biến được gửi đến máy chủ cơ sở dữ liệu và truy vấn thực sự được thực thi
Ở đây chúng tôi đang gọi một chức năng rất thông minh. Theo mặc định, vì lý do nào đó, không thể tìm nạp một mảng quen thuộc (như chúng ta đã làm với 4) từ câu lệnh mysqli. Vì vậy, chức năng này ở đây để trợ giúp, nhận kết quả mysqli từ câu lệnh mysqli
Cuối cùng, tìm nạp một hàng bằng phương pháp 5 quen thuộcBắt nhiều hàng vào mảngNói chung, việc nhận nhiều hàng sẽ liên quan đến vòng lặp while quen thuộc 1Tuy nhiên, trong một ứng dụng web hiện đại, tương tác cơ sở dữ liệu được tách ra khỏi đầu ra HTML. Nó làm cho mã sạch hơn và linh hoạt hơn. Điều đó có nghĩa là chúng ta không bao giờ nên in dữ liệu của mình bằng vòng lặp while mà nên thu thập dữ liệu đó vào mảng và sau đó sử dụng mảng này cho đầu ra Và mysqli có một chức năng tiện dụng trả về ngay một mảng từ kết quả truy vấn. 6. Vì vậy, thay vì bốn dòng 3nó có thể chỉ là một dòng duy nhất 4sau đó bạn có thể sử dụng 7 cho đầu ra 0Theo mặc định, hàm này trả về các mảng được liệt kê, do đó, để có được các mảng kết hợp, chế độ 8 phải được đặt rõ ràngCHỌN truy vấn với chức năng trợ giúpNhư bạn có thể lưu ý, mã cho câu lệnh chuẩn bị khá dài dòng. Nếu bạn muốn xây dựng một mã giống như hình Lego, với hàng ngũ người vận hành sáng chói, bạn có thể giữ nguyên mã đó. Nếu bạn, giống như tôi, ghét sự lặp lại vô ích và thích viết mã ngắn gọn và có ý nghĩa, thì có một hàm trợ giúp đơn giản. Với nó, mã sẽ trở nên ngắn hơn hai lần Tại sao bạn nên sử dụng báo cáo chuẩn bị?Nếu bạn muốn thực thi một đối tượng Statement nhiều lần, nó thường giảm thời gian thực hiện để sử dụng đối tượng PreparedStatement thay thế. Đặc điểm chính của đối tượng PreparedStatement là, không giống như đối tượng Statement, nó được cung cấp một câu lệnh SQL khi được tạo.
Tại sao chúng tôi sử dụng câu lệnh đã chuẩn bị trong MySQL?Các câu lệnh đã chuẩn bị trong tập lệnh SQL
. Bạn có thể sử dụng nó từ bất kỳ chương trình nào có thể gửi câu lệnh SQL đến máy chủ để thực thi, chẳng hạn như chương trình máy khách mysql. when no programming interface is available to you. You can use it from any program that can send SQL statements to the server to be executed, such as the mysql client program.
Việc sử dụng chuẩn bị là gì?1[transitive] làm cho cái gì đó hoặc ai đó sẵn sàng để sử dụng hoặc làm gì đó chuẩn bị cái gì đó/ai đó chuẩn bị báo cáo chuẩn bị cái gì đó . Trường chuẩn bị cho sinh viên một nghề nghiệp trong kinh doanh. |