0

私はphpとMysqlデータベースを学んでいます。どれもいい音です。しかし、次のコードは私を混乱させます:

if(isset($connection)){
           mysql_close($connection);
           unset($connection);
}

私が知る限り、mysql_close() 関数は接続を閉じる責任があります。では、なぜ追加の unset() 関数がここで使用されたのでしょうか? 説明してください。前もって感謝します。

4

3 に答える 3

5
  • mysql_close($connection)は、$connection に関連付けられている MySQL サーバーへの非永続的な接続を閉じます。$connection が指定されていない場合、最後に開かれたリンクが使用されます。

    -この関数は非推奨ですので、PDO または mysqli を使用してください。

  • unset($connection)は、php 側で結果へのポインターをクリアしますが、それが指す結果に対しては何もしません。

于 2013-07-07T10:02:20.053 に答える
1

追加unset()により、ガベージ コレクションは、閉じた$connection変数が占有しているメモリをクリアできます。また、(ほとんどの場合) アプリケーション コードはif (isset(...))、その変数に対してより多くの条件を実行します。

于 2013-07-07T10:00:43.207 に答える
0

unset($connection)var$connectionを に等しくするだけNULLです。を実行しなかった場合unset、var$connectionは引き続き MySQL リンク ID を指し、mysql_close(). 少し衒学的です。あなたであろうとなかろうunsetと、$connection変数はmysql_close().

于 2013-07-07T09:59:16.817 に答える