[PHP-users 13903] Re: SymfowareRDBに 1 件しかinsertできない。

Youichi Iwakiri php-users@php.gr.jp
Wed, 12 Mar 2003 16:55:16 +0900


いわきりです

Hiroo Honma wrote in <009801c2e86a$2c49b2c0$010a01c0@sankoseika.com> :
>PHPを使用してODBC経由で富士通製のSymfoWareRDB(データベース)
>>テーブルから読込、別のテーブルにinsertしていますが、1件しかinser
>tできません。
>どなたか分かる方、ご教授願います。

>$resultK = odbc_exec($conn_idK ,"SELECT * FROM MST_SC.商品");
>//全データを読込終わるまで処理を繰り返す。 
>while(odbc_fetch_row($resultK)) {
>
>  $KSYOCD = odbc_result($resultK, "商品CD");
>  $KDAICD = odbc_result($resultK, "大分類");
    ・
    ・
>  $KCHUSHIKBN = odbc_result($resultK, "0:販売中止1:販売中");
> //データ表示
>   print("■データ読込■<BR>\n");
> print("$KSYOCD");
> print("=");
> print("$KDAICD");
> print("=");
> print("$KCHUCD<BR>\n");
>
> $KENSU = $KENSU + 1;
>
> print("■データ追加■<BR>\n");
> $insert = odbc_exec($conn_idK , "insert into MST_SC.商品2

この行を処理した結果、前回のodbc_exec()のresultsetが破棄されるから
whileで2周目以降はあり得ません。

$conn_idK1 = odbc_connect('MSTDB2','xxx','yyy');
$conn_idK2 = odbc_connect('MSTDB2','xxx','yyy');

と、2つのコネクションを張って、SELECT側では、$conn_idK1を
INSERT側では、$conn_idK2を使えば良いのでは?

-- 
Youichi Iwakiri