[前][次][番号順一覧][スレッド一覧]

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>]