mysql:11239
From: nomoto <nomoto <shin-1@xxxxxxxxxx>>
Date: Wed, 23 Mar 2005 04:57:17 +0900
Subject: [mysql 11239] Re: mysql_connect
こんばんは。野元です。 >http://bugs.php.net/bug.php?id=21663 >「バグではない。必要なら第4パラメータ(new_link)を >適用してください」ということのようです。 > >個人的にはスコープの問題のバグというより >リファレンスカウントの数え方減り方が >変なためのバグなのではという気がするのですが。 一応、コメント書く前にbug reportもチェックしたのですが、 Jan 2003でしかもBogusなんて、そこまで見つけられませんでした。 PHP4の仕様なのでしたら仕方ないですね。 スコープの問題と書きましたが、注目した点はわたしも同じです。 リファレンスカウントの問題だと思います。 closeと、ローカルスコープ変数のガベージコレクトが続けて起こる 事によって、内部でカウントしていたmysqlコネクション数を二重に 減らしすぎている感じです。 http://www.php.net/manual/ja/language.types.resource.php を見ると「使わなくなったリソースとそれに関連付けされている リソースも全て開放されます」と書かれているのといっしょに 「free_resultも通常は必要ない」と書かれていますし、 http://www.php.net/manual/ja/function.mysql-close.php にもリソース開放で接続は閉じられるので、通常「mysql_closeは 必要ない」と書かれています。 実際、getcount関数内で明示的なcloseをしなかったら・・・ ptn=1でもptn=2でも正常に動作するようになりますね(笑) いちおう関数は準備されているけど、仕様書通りに 「mysql_free_resultやmysql_closeは通常は使わない!」 が正しい使い方なのでしょう:-)
11231 2005-03-22 13:45 [bon <bon@xxxxxxxxxx>] mysql_connect 11232 2005-03-22 16:52 ┗[Sumito_Oda <oda@xxxx] 11233 2005-03-22 19:40 ┗[bon <bon@xxxxxxxxxx>] 11235 2005-03-22 22:15 ┗[nomoto <shin-1@xxxxx] 11237 2005-03-23 03:11 ┣[bon <bon@xxxxxxxxxx>] 11238 2005-03-23 03:13 ┗[Sumito_Oda <oda@xxxx] -> 11239 2005-03-23 04:57 ┗[nomoto <shin-1@xxxxx] 11242 2005-03-23 09:52 ┗[bon <bon@xxxxxxxxxx>]