이중 루프문 안에 쿼리문 실행시 바깥루프 안도는 문제

by 지니보이 posted Dec 22, 2009

안녕하세요...
또 질문이 있어 왔습니다..^^

아래와 같은 쿼리문을 실행하려고 합니다.
그런데 db에서 10건 가까운 데이타가 있는데
for문의 루프만 돌고 while문의 루프는 돌지 않습니다.
cubrid_prepare 부분을 주석처리하면 이상없이 루핑을 도는데
for문의 안에 SQL 쿼리문이 들어가면 안에 있는 for문만 루핑을 돌고 while문은 그냥 빠져나가 버립니다.

쉽게 말하면
10줄의 데이타 값이 출력 되야 하는데 한줄만 출력되고 마는 겁니다.
이 문제는 왜 일어나는 걸까요?

$list_qry = "select num from db";
$req = cubrid_prepare($con, $list_qry);
$result = cubrid_execute($req);

echo "<table border=1>";
while ($row = cubrid_fetch($req)) {
   $num = $row['num'];
 
   echo "<tr>n";

   for($i=200901;$i<200913;$i++) {
         $pass_qry = "select name from db2 WHERE num = ? AND sbnum = ?";
         $req = cubrid_prepare($con, $pass_qry);
         $res = cubrid_bind($req, 1, $num, "NUMERIC");
         $res = cubrid_bind($req, 2, $i, "NUMERIC");
         $result = cubrid_execute($req);
         $row = cubrid_fetch($req);

         $name = $row['name'];

         if($SUM == ""){
              echo "<td>&nbsp;</td>n";
         } else {
              echo "<td>" . $name . "</td>n";
         }
   }
   echo "</tr>n";

}
echo "</table>n";

if ($req > 0) cubrid_close_request($req);


Articles

13 14 15 16 17 18 19 20 21 22