使用下面的示例,什么时候才能在不丢失数据的情况下关闭连接?
通常,在将局部变量设置为绑定结果之后,这是最早的吗?
我知道这并不重要,因为连接在脚本完成时关闭了,我只是好奇什么时候不再使用连接了。
$conn = new mysqli($host, $user, $password, $database) or die('Error ' . mysqli_error($link));
$userID = json_decode(file_get_contents('php://input'), true)["userID"];
$sql = "SELECT name
FROM users
WHERE id = ?";
$stmt = mysqli_prepare($conn, $sql);
if ($stmt) {
mysqli_stmt_bind_param($stmt, 'i', $userID);
if (mysqli_stmt_execute($stmt)) {
mysqli_stmt_store_result($stmt);
// here?
if (mysqli_stmt_num_rows($stmt) > 0) {
mysqli_stmt_bind_result($stmt, $_name);
// here?
mysqli_stmt_fetch($stmt);
// here?
$name = $_name;
mysqli_stmt_close($stmt); // Where I currently close it
if (!empty($name)) {
echo '{"name": ' . $name . '}';
} else {
echo '{"name": "Anonymous" }';
}
}
}
}发布于 2016-02-19 16:53:06
当不再需要连接或不执行其他mysqli函数时,应该关闭连接。
在您的情况下,可以在mysqli_stmt_fetch($stmt);之后关闭它,因为在此之后您不需要它。
https://stackoverflow.com/questions/35510406
复制相似问题