準備されたmysqliステートメントをファイナライズするときの$stmt->close()と$stmt->free_result()の違いを明確にしようとしています。
これまでのところ、私は使用しています:
$mysqli = new mysqli(host,user,password,database);
$stmt = $mysqli->prepare(sql statement);
[...]
$stmt->free_result();
$mysqli->close();
そして、すべてがうまくいくようです。
しかし、多くのプログラマーが $stmt->free_result() の代わりに $stmt->close を使用しているのを見てきました。そして、私がそれらの両方を見た後:
$stmt->free_result();
$stmt->close();
$mysqli->close();
では、どのような状況で、どのような理由で何を選択すればよいのでしょうか?