Đang cố gắng tìm hiểu điều gì đó mới - đặc biệt cố gắng chọn thời điểm để sử dụng MySQLi hoặc PDO cho các dự án trong tương lai khi làm việc với MySQL - Tôi tình cờ gặp this page hiển thị tổng quan về các tùy chọn có sẵn cho tôi.Báo cáo chuẩn bị phía khách hàng là gì?
Ở cuối trang này là bảng so sánh chức năng của ba phương pháp giao tiếp chính với mysql. Trong hàng "API hỗ trợ các báo cáo được chuẩn bị phía máy khách", nó nói rằng PDO hỗ trợ điều này và MySQLi thì không.
Tôi biết câu lệnh được chuẩn bị là gì. Câu trả lời cho this question là một ví dụ đơn giản về những gì tôi tin là các báo cáo được chuẩn bị phía máy chủ. Và PHP là một ngôn ngữ phía máy chủ, do đó sẽ có nghĩa là nó không quan trọng nếu các câu lệnh chuẩn bị phía máy khách có sẵn hay không. Nhưng điều đó làm cho tôi tự hỏi tại sao điều đó thậm chí được liệt kê trong hướng dẫn sử dụng PHP sau đó.
Vì vậy, các báo cáo được chuẩn bị phía khách hàng là gì?
Tôi giả sử điều này sử dụng máy khách/máy chủ trong một ngữ cảnh khác với mô hình web - tức là MySQL là máy chủ và PHP là ứng dụng khách trong ngữ cảnh này. Mặc dù cả hai đều trên cùng một máy tính. –
Chắc chắn điều này đề cập đến ['PDO :: ATTR_EMULATE_PREPARES'] (http://www.php.net/manual/en/pdo.setattribute.php), một thiết lập mô phỏng các câu lệnh đã chuẩn bị với nội suy và thoát. Điều này được thực hiện trong thư viện, vì vậy về mặt kỹ thuật phía máy khách, trước khi các yêu cầu được chuyển đến máy chủ DB. – mario
@MattFenwick Mặc dù điều này có thể có ý nghĩa hoàn hảo, nhưng điều này không giải thích tại sao cùng một bảng hiển thị hỗ trợ cho các câu lệnh được chuẩn bị phía máy chủ cho tất cả các thư viện, nhưng chỉ một trong số chúng hỗ trợ phía máy khách nếu chúng ta chấp nhận tiền đề rằng PHP là khách hàng. – Repox