4

私はこのコードを書きました:

$stmt = $link->prepare($statement_string);

// [...]

$result_m = $stmt->result_metadata();
if ($result_m) {
  $stmt->store_result();

  // [...]

  $stmt->free_result();
  $result_m->free();
}

そのコードは正しいですか?

ドキュメントmysqli-stmt.result-metadataおよびmysqli-result.free docを読みました。この投稿も読みました: ...free-mysql-result-after-storing-itしかし、答えが見つかりませんでした。

編集 :

私が知りたいのは、$stmt->free_result();によって行われたメモリ割り当てを解放するか、によって構築され$stmt->store_result();たオブジェクトのメモリを明確に解放するかということです。mysqli_result$stmt->result_metadata();

4

1 に答える 1

1

これらのページによると:

mysqli-free-result

mysqli-stmt-free-result

メタ データと実際のステートメント データ (行) は異なるオブジェクトであるため、両方を別々にクリアする必要があります。

コードで行ったのとまったく同じです。

于 2013-09-30T23:45:32.103 に答える