• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:結果セットは明示的に開放しない限り、保証されるのでしょうか?)

結果セットは明示的に開放しない限り、保証されるのでしょうか?

このQ&Aのポイント
  • PHP5からMySQL5を使っています。mysql_queryの戻り値であるリソースの変数名を別にすれば、結果セットは明示的に開放しない限り、保証されるのでしょうか?
  • 結果セットはmysql_queryの戻り値であるリソースの変数名を別にすることで、明示的に開放しない限り、保証されるのでしょうか?
  • PHP5からMySQL5を使っており、mysql_queryの戻り値であるリソースの変数名を別にすると、結果セットは明示的に開放しない限り、保証されるのか疑問です。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

こんにちは。 >>$resで回っている結果セットは保証されるのでしょうか? 「保証される」という言い方が適切かどうかはわかりませんが・・・、$resと$res2はまったく別のものなので、お互いに干渉することはありません。 >>明示的にmysql_free_result($res);を呼び出さない限り >>$resは mysql_queryなどで同じ$resで上書きしない限り >>生き残っているのでしょうか? mysql_free_result($res);によって、結果セットは開放されます。 $resに別のmysql_queryの結果を代入すれば、当然新しい結果セットに置き換わります。まぁ、ただの変数ですから、mysql_queryの結果だけでなく、「$res=1;」とすれば、ただの数字の1になりますし、「$res="abc"」とすれば、abcという文字列にもなりますよね? 一度フェッチ処理された$resは、最後の参照ポインタ(行)を保持しますので、使いまわす時には注意が必要です。

関連するQ&A