tầm quan trọng của việc sử dụng là gì:PHP ::: chuẩn bị Báo cáo ::: freeresult() ::: close()
$stmt->free_result();
$stmt->close();
Sau một cuộc gọi cơ sở dữ liệu sử dụng statments chuẩn bị như thế này:
$mysqli=new mysqli("database", "db", "pass", "user");
$stmt = $mysqli->prepare("SELECT email FROM users WHERE id=? ");
$stmt->bind_param('i',$_SESSION['id']);
$stmt->execute();
$stmt->bind_result($email);
while($stmt->fetch()){
echo $email;
}
$stmt->free_result(); //why do i need this?
$stmt->close(); //why do i need this?
Tôi hỏi vì tôi không thấy bất kỳ sự xuống cấp hiệu suất đáng chú ý nào mà không có chúng. Là những lệnh thường chỉ được sử dụng cho khi tôi lưu trữ các kết quả sử dụng:
$stmt->store_result();
Như thế này:
$mysqli=new mysqli("database", "db", "pass", "user");
$stmt = $mysqli->prepare("SELECT email FROM users WHERE id=? ");
$stmt->bind_param('i',$_SESSION['id']);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($email);
while($stmt->fetch()){
echo $email;
}
$stmt->free_result(); //why do i need this?
$stmt->close(); //why do i need this?
Cuối cùng câu hỏi đi xuống đến khi nào là thời điểm thích hợp để sử dụng freeresult() và đóng ()?
Không, nó không nói bất cứ điều gì để các cơ sở dữ liệu – zerkms
Vì vậy, tôi có thể sử dụng freeresult() ở phần cuối của bất kỳ tuyên bố mà tôi không cần phải storeresult() cho? –
@Dan Kanze: miễn là bạn không gặp phải bất kỳ sự cố nào - đừng làm vậy, đừng lãng phí chu kỳ CPU cho không có gì – zerkms