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

$ stmt-> close () so với $ stmt-> free_result ()

$stmt->free_result() giải phóng bộ nhớ liên quan đến tập kết quả, trong khi $stmt->close() giải phóng bộ nhớ liên quan đến một câu lệnh đã chuẩn bị. Sau đó gọi $stmt->close() sẽ hủy bỏ bất kỳ kết quả nào vẫn còn.

Về bản chất, gọi $stmt->close() sẽ cung cấp hiệu ứng tương tự như gọi $stmt->free_result() vì nó cũng hủy tập hợp kết quả. Nhưng đang gọi $stmt->free_result() sẽ không xóa bộ nhớ được sử dụng bởi câu lệnh đã chuẩn bị trong trường hợp đó bạn phải sử dụng $stmt->close() .

Tùy thuộc vào việc sử dụng cái nào - có thể có những trường hợp bạn định sử dụng câu lệnh chuẩn bị mà bạn đã khởi tạo, nhưng không còn cần đến bộ kết quả mà bạn hiện có. Trong trường hợp như vậy, bạn sẽ đợi khi gọi $stmt->close() cho đến khi bạn hoàn thành câu lệnh đã chuẩn bị và thay vào đó hãy gọi $stmt->free_result() trước khi thực hiện một câu lệnh khác.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách sử dụng bind_result () thay vì get_result () trong php

  2. Làm thế nào để sử dụng regex trong MySQL?

  3. Đi từ cơ sở dữ liệu đến phiên

  4. SQL:Trả lại giá trị chung nhất cho mỗi người

  5. Sau khi cập nhật Windows 10 1803, chương trình của tôi không thể mở ổ cắm khi chạy từ chia sẻ mạng