- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:結果セットは明示的に開放しない限り、保証されるのでしょうか?)
結果セットは明示的に開放しない限り、保証されるのでしょうか?
このQ&Aのポイント
- PHP5からMySQL5を使っています。mysql_queryの戻り値であるリソースの変数名を別にすれば、結果セットは明示的に開放しない限り、保証されるのでしょうか?
- 結果セットはmysql_queryの戻り値であるリソースの変数名を別にすることで、明示的に開放しない限り、保証されるのでしょうか?
- PHP5からMySQL5を使っており、mysql_queryの戻り値であるリソースの変数名を別にすると、結果セットは明示的に開放しない限り、保証されるのか疑問です。
- みんなの回答 (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は、最後の参照ポインタ(行)を保持しますので、使いまわす時には注意が必要です。