牛、豚、鶏、どれか一つ食べられなくなるとしたら?

いつもお世話になっております。

現在、PHP(5.3.1)とPostgreSQL(9.2)で開発をしております。
エラーが発生しており大変困っております。
こちらが発生するエラーです。
Warning: pg_exec() [function.pg-exec]: Query failed: ERROR: schema
スキーマが見つからないとのことです。

そして、以下がコードとなります。

<?php
// PostgreSQL Connect
if (!($cn = pg_connect("host=*** port=*** user=*** password=*** dbname=***"))) {
die;
}

// PostgreSQL Select
$sql = "select * from t_test.na1";
if (!($rs = pg_exec($sql))) {
die;
}

// PostgreSQL Get Records
$ct = pg_numrows($rs);
for ($i = 0; $i < $ct; $i++) {
$item = pg_fetch_array($rs, $i);
$txt = "${item[1]}";
}

// PostgreSQL Disconnect
pg_close($cn);
?>

現在のデータベースのスキーマについてですが「na1」と「public」の2つが存在しています。
試しに、na1とpublicのテーブルをまったく同じにして
SQLの部分を「select * from t_test」に変更すると「public」側のテーブルが覗けます。

しかし、SQLの部分を「select * from t_test.na1」に変更すると「スキーマが見つかりません」
というエラーが発生してしまいます。
スキーマがあるにもかかわらずこのエラーがでてしまうため原因が分からず困っております。

もしお分かりになる方いらっしゃいましたら、教えていただければと思います。
何卒よろしくお願いします。

A 回答 (2件)

スキーマ名とテーブル名の順序が逆じゃないでしょうか。

    • good
    • 0

pg_exec()ってずいぶん古くないですか?


PDOの導入など検討してみては?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

PDOですか・・・私自身がPHPの知識がまだ浅いので
こちらは調べてみます。
もしかすると環境が変えれない可能性があるので
できれば今のままでこのエラーを解決できればと
思います。

ありがとうございました。

お礼日時:2013/01/22 19:20

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


おすすめ情報