什么时候最早我可以关闭我的mysqli连接?

时间:2016-02-19 16:44:46

标签: php mysqli

使用下面的例子,什么时候最早可以关闭连接而不丢失数据?
通常我在将局部变量设置为绑定结果后执行此操作,这是最早的吗?

我知道这并不重要,因为在脚本完成时连接已关闭,我只是想知道连接何时不再使用。

$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" }';
      }

    }
  }
}

1 个答案:

答案 0 :(得分:1)

当不再需要连接或不执行其他mysqli功能时,应关闭连接。

在你的情况下,它可以在mysqli_stmt_fetch($stmt);之后关闭,因为在此之后你不需要它。