電子書籍の厳選無料作品が豊富!

dbはoracleでphpを学んでいるのですが
whileの中にwhileを入れると初めのwhileが回らなくなってしまい困っています。
具体的な内容を下に明記します。
よろしければ具体的な解決方法や構文など教えていただけないでしょうか?

//select文の発行
$sql1
$db->Quary($sql1);
while($db->FetchArray()){
$row1 = $db->mArray[row1];
$sql2
$db->Quary($sql2);
while($db->FetchArray()){
$row2 = $db->mArray[row2];
$sql3
$db->Quary($sql3);
while($db->FetchArray()){
$name = $db->mArray[name];
}
}
}

素人考えですがFetchArray()が上書きされて
1回目と二回目のwhileが回ってないように感じるのですが
FetchArray()を何に置き換えてどう対応すれば上手く回るのかがわかりません。

よろしくお願いします。

A 回答 (1件)

各SQLの実行で、同じ$dbを使用しているせいだと思います。



$dbを、sqlに合わせて、$db1、$db2、$db3にしてみてはいかがでしょうか?

$sql1
$db1->Quary($sql1);
while($db1->FetchArray()){
$row1 = $db1->mArray[row1];
$sql2
$db2->Quary($sql2);
while($db2->FetchArray()){
$row2 = $db2->mArray[row2];
$sql3
$db3->Quary($sql3);
while($db3->FetchArray()){
$name = $db3->mArray[name];
}
}
}
    • good
    • 0
この回答へのお礼

ありがとうございます。
実際やってみて上手くいきました。

的確なアドバイスにとても感謝してます。

お礼日時:2008/12/18 23:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!