[PHP-users 15904]Select結果をInsertする方法について

Iso, Toshitaka toshitaka.iso @ hp.com
2003年 6月 13日 (金) 01:08:57 JST


こんばんは。

PHPのVersion=4.0.6
OS=Redhat Linux 7.2J

違うDBのSelect結果を違うDBへInsertする方法を教えて下さい。

$con_SMS = pg_connect("port=$SMS_PORTNO user=$USERNAME password=$PASSWD dbname=$SMS_DBNAME host=$SMS_HOSTNAME"));
$con_CRT = pg_connect("port=$CRT_PORTNO user=$USERNAME password=$PASSWD dbname=$CRT_DBNAME host=$CRT_HOSTNAME");

というふうに違うコネクションを2つのDBにはり、

$con_SMSにあるテーブルに対して、
$result = pg_exec($con_SMS,"select * from $COPY_TABLE;");
を実行して、

件数取得後、1行ずつ取り出して、
$num = pg_numrows($result);
for ($i=0; $i<$num; $i++)
{
        $arr = pg_fetch_arrow($result, $i, PGSQL_ASSOC);
        pg_insert($con_CRT,$COPY_TABLE,$arr);
}
con_CRTにある空でテーブル構成が同じテーブルに対してpg_insertでInsertを行おうとおもったのですが、
PHPのVersionが4.0.6のため、行うことが出来ませんでした。

Insert文をカラムの個数分繰り返して作る以外にないのか、
WEB等で調べてみたのですが、どうしても分かりませんでした。

同じような処理を行ったことがある方、お手数ですがご享授いただけたら幸いです。


PHP-users メーリングリストの案内