[PHP-users 31228] Re: ブラウザの終了と同時にデータベースのデータを削除したい

Katsuo Mogi mogi-k2 @ msg.biglobe.ne.jp
2007年 1月 8日 (月) 18:14:04 JST


茂木です。

In the message [PHP-users 31227] ブラウザの終了と同時にデータベースのデータを削除したい
               <86DF96E3-DCD3-40B4-87C8-BB47BA078C23 @ ybb.ne.jp>
小川 洋|Hiroshi Ogawa <wiredhiro @ ybb.ne.jp> wrote:

> 小川です。
> いつもお世話になっています。

> 今回の相談内容ですが、ブラウザの終了と同時にMySQLデータ 
> ベースの或るデータを削除するには
> どうすればいいかというものです。

> register_shutdown_function()を使って、データベースのデータを削除 
> しようと考えたのですが、うまくできません。

> 以下のような警告文が表示されます。
> Warning: mysql_select_db(): supplied argument is not a valid MySQL- 
> Link resource

> register_shutdown_function()関数は、データベースとの親和性がよく 
> ないのでしょうか?

> みなさんのお知恵を拝借したいと思います。よろしくお願いします。

register_shutdown_function() に登録した関数はどのように
定義されていますか?
その提示が無ければ正確な回答は期待できないと思います。

推測での話ですので外しているかもしれません。
register_shutdown_function()の実行内で、
mysql_select_db()する前にmysql_connect()で接続されていますか?

1:PHPで処理 - 2:ブラウザへ表示 - 3:ブラウザ閉じる - 4:DBデータ削除

1の終わりの時点でデータベースとの接続は切れます。
1のソース中でmysql_connect()したリソースIDを使いまわして
register_shutdown_function()のときに
mysql_select_db()しようとしていたら、上記エラーがでるかと思います。

#(セッションで保持していたら大丈夫でしたっけ?)

参考になれば幸いです。

--
---------------------------------
 茂木克夫
    mail: mogi-k2 @ msg.biglobe.ne.jp
    site: http://www.momo.dyndns.org/~katsu/
---------------------------------


PHP-users メーリングリストの案内