[PHP-users 23340]データベース内のすべてのテーブルについてあるsql文を実行したい

KOYAMA HIDEKI hill47goodtree @ ybb.ne.jp
2004年 9月 18日 (土) 22:32:24 JST


 Apache,PostgreSQL,PHPでWebシステムを組んでいます。そし
てデータベース『test1』にあるすべてのテーブルについて順
次sql文を実行したいのです。自分なりに調べてスクリプトを
いろいろ変更しましたが、以下のエラーが出て、sql文は1つの
テーブルしか受け付けないようです。対処法がわからずご教示
をお願いした次第です。よろしくお願いいたします。

Warning: pg_query(): Query failed: ERROR: syntax error at
or near "ORDER" at character 115 . in
/usr/local/apache2/htdocs/syoseki_data.php on line **
データ抽出エラー

『test1』に3つのテーブルがあるとします。
             tablename
          …………………
            syoseki_18 
            syoseki_257
            syoseki_3457

スクリプト『syoseki_data.php』
<?php
$dbname = "test1";
$user = "postgres";
$pass = "**********";
// データベースに接続する
$conn = pg_connect("dbname=$dbname");

$sql = "SELECT tablename FROM pg_tables WHERE tablename
like 'syoseki%' ORDER BY id;";
$res = pg_query($conn, $sql) or die("データ抽出エラー");
for ($i = 0; $i<pg_num_rows($res); $i++) {
    $row = pg_fetch_array($res, $i, PGSQL_ASSOC);
    $tablename1 = $row["tablename"];

// データを取り出す
$sql = "SELECT id, kara, made, number, name, syozoku,
syoseki FROM $tablename1 ORDER BY id;";
$res = pg_query($conn, $sql) or die("データ抽出エラー");  
          //line **
…………………
…………………
}
// 接続を解除する
pg_close($conn);
?>








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