06/08/24 23:34:20 KkbLy53/
PEAR::DBに関しての質問なのですが、
$db->setFetchModeを「DB_FETCHMODE_ASSOC」に指定すると、
2つのテーブルで同じ名前の列がある場合、片方しかとれません。
たとえば、
create table t1 (id integer, data varchar(10));
create table t2 (id integer, data varchar(10));
とした時に、下のようなSELECTを実行します。
select t1.id, t1.data, t2.id, t2.data from t1, t2 where t1.id = t2.id
すると、かえってくる連想配列の内容をprint_rでみると
Array
(
[id] => 1
[data] => data1
)
こんな内容が帰ってきます。FETCHモードが、「DB_FETCHMODE_ASSOC」の場合、
指定した列すべて取れないのでしょうか・・・?期待していたのは下のような結果なのですが。
Array
(
[t1.id] => 1
[t1.data] => data1
[t2.id] => 1
[t2.data] => data2
)
ちなみに、PHPは4.3.11、PEAR::DBは1.7.6、DBはpostgreSQLでV8.xです。
ご存知の方、いらっしゃいましたら教えてください。よろしくお願いいたします。