プロが教えるわが家の防犯対策術!

PHPのPEAR::DBのサンプルを公開しているサイトから以下のソースを引っ張ってきて、試してみました。すると、少しおかしな現象が発生したので、ご質問させていただきます。

------------------------------
$dsn = "pgsql://postgres:pass@localhost/postgres";

$db = DB::connect($dsn);
if (PEAR::isError($db)) {
die($db->getMessage());
}

print('接続に成功しました<br>');

$sql = 'select * from "USER_TBL"';
$res =& $db->query($sql);
if (PEAR::isError($res)) {
die($res->getMessage());
}

while ($row =& $res->fetchRow()) {
print($row['ID']);
print($row['NAME'].'<br>');
}
------------------------------

接続は問題なかったのですが、データベースからデータを取得する「print($row['ID']);」の部分が動かず、<br>だけ出力されてしまいます。IDのカラム名をダブルクォーテーションで囲っても、値が出てきません。ところが、print($row[0]);などのように、数値を指定してやると、その部分が出力されます。

また、カラム名を小文字に変えてみたりもしましたが、やはりそれでもデータは取得できませんでした。

理由がよく判らないのですが、カラム名でデータを引っ張ってきたいと思います。解決方法はありませんでしょうか?

A 回答 (1件)

参考URLの DB_FETCHMODE_ASSOC を参照しましょう。



参考URL:http://pear.php.net/manual/ja/package.database.d …
    • good
    • 0
この回答へのお礼

ありがとうございます。
これを設定しなければならなかったのですね。

無事、カラム名でデータを取得できました。

お礼日時:2008/05/23 13:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!