-1

重複の可能性:
本当に mysql_close() を実行する必要がありますか?

おそらく最初の質問は、MySQL 接続を閉じる必要があるかどうかです。これは、各スクリプトの最後に自動的に行われるものですか?

いずれにせよ、以下の例では、DoOtherStuff() から DoOtherStuff() を呼び出すと、DoOtherStuff() への呼び出しの直後に MySQL クエリを実行する前にデータベース接続が閉じられることがわかります。では、MySQL 接続を開いたり閉じたりするためのルールは何ですか? 関数が必要とするときはいつでも、接続を閉じずに接続を開くことはできますか? これにより、必要以上のデータベース接続が作成され、コードが遅くなりますか? これに関するヒントはありますか?私はただ最高に気持ちいいことをしているだけで、少し途方に暮れています。

function DoStuff(){
    $connection = mysql_connect(...);

    DoOtherStuff();

    mysql_query(...);//This won't run

    mysql_close($connection);
}

function DoOtherStuff(){
    $connection = mysql_connect(...);

    //Does other stuff

    mysql_close($connection);
}
4

2 に答える 2

1

いいえ、接続を閉じる必要はありません。マニュアルに従って:

非永続的な開いているリンクはスクリプトの実行の最後に自動的に閉じられるため、通常、mysql_close() を使用する必要はありません。リソースの解放も参照してください。

ほとんどのアプリケーションにはデータベース接続が 1 つしかないため、接続リソースを実際に保存する必要もありません。

于 2012-06-14T13:32:33.307 に答える
0

通常、スクリプトの開始時に接続を1 回開き、それをまったく閉じない (つまり、PHP はスクリプトの最後で接続を閉じます) か、もう必要ないと確信したときに接続を閉じます。 .

各関数で個別の接続を開くことは、確かに狂気です。コードmysql_connect.

于 2012-06-14T13:34:01.637 に答える