[PHP-users 12851] Re: JOIN文でのカラム名の指定の仕方

Youichi Iwakiri php-users@php.gr.jp
Tue, 28 Jan 2003 12:44:37 +0900


いわきりです

KiyohitoTanaka wrote in <OJEEKIJNKMMGJJOEDNICCEDPDNAA.tanaka-tec@masecon.co.jp> :
>例えば私の方では、
>それぞれ
>$kekka[1]は『hiduke』という文字列
>$kekka[2]は『shimei』とう文字列
>になってしまうのです。

ですから、pg_fetch_object()が返すObjectがどうなっているかを
提示して欲しかったのです。

print_r($data);

で、結果がどの様に格納されているか教えてください。

#当方、手近にJOINをサポートしたPostgreSQLが無いので試せません。

<script language="php">
$data->table1.code = '123';
print_r($data);
</script>

と言ったコードでObjectを作成しようとしても

PHP Parse error:  parse error, unexpected '=' in /home/iwa/test.php on line 2

となり、'.'を含む名前はオブジェクトで使えないので、
pg_fetch_object()がどういう値を返しているかを確認するのが手っ取り早いです。

あとは、
select table1.code as t1_code, table1.hiduke as t1_hiduke, table2.shimei as t2_shimei,...  from table1 join table2 on table1.code=table2.code where table1.code='123'

とエイリアスで取得すれば、
$kekka[1] = $data->t1_hiduke;
$kekka[2] = $data->t2_shimei;

で取得できると思います。

-- 
Youichi Iwakiri