私はphpとMysqlデータベースを学んでいます。どれもいい音です。しかし、次のコードは私を混乱させます:
if(isset($connection)){
mysql_close($connection);
unset($connection);
}
私が知る限り、mysql_close() 関数は接続を閉じる責任があります。では、なぜ追加の unset() 関数がここで使用されたのでしょうか? 説明してください。前もって感謝します。
mysql_close($connection)は、$connection に関連付けられている MySQL サーバーへの非永続的な接続を閉じます。$connection が指定されていない場合、最後に開かれたリンクが使用されます。
-この関数は非推奨ですので、PDO または mysqli を使用してください。
unset($connection)は、php 側で結果へのポインターをクリアしますが、それが指す結果に対しては何もしません。
追加unset()により、ガベージ コレクションは、閉じた$connection変数が占有しているメモリをクリアできます。また、(ほとんどの場合) アプリケーション コードはif (isset(...))、その変数に対してより多くの条件を実行します。
unset($connection)var$connectionを に等しくするだけNULLです。を実行しなかった場合unset、var$connectionは引き続き MySQL リンク ID を指し、mysql_close(). 少し衒学的です。あなたであろうとなかろうunsetと、$connection変数はmysql_close().