私は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()
.