トップページ⇒php
933コメント644KB

PHP + PostgreSQL

■ このスレッドは過去ログ倉庫に格納されています
0001りさあ NGNG
語りません?
0161電動ナナシ NGNG
>>158
これはちょっとショッキングだなあ。
SELECT m.user_id, .... FROM usertable u, maintable m WHERE u.user_id = m.user_id
AND u.syumi = :SYUMI ORDER BY m.user_id;
ってするだけの話だよね。

さっき pgsql にも流れてきたけど、根本的に SQL が分かっていないねえ。
0162Error 401 NGNG
>>161
どんな言語が出ても、こうする人たちは一生こうしていくんだと思う。
で、「このSQL文投げると○○分帰ってきません」とかなる。

ちょっとSQL勉強して、各DBエンジンのクセやコスト算出方法を知れば
こんなことなくなると思うんだけど。

この間、ちょっとかかわった某大規模システムもそんな感じで設計されてた。
JOINを知らないのはおろか、数千レコードのあるカラムの合計を取ってくるのに、
数千回ループして、+=してた。
しかも、それ、Webシステムのサーバアプリ部分。どうなったのかな、アレ。
0163153 NGNG
>>160
たまたま話題としてPHPの判る人でなければ煽れない(のかな?)
ということで、本当に煽ラーがいなくて助かります。
逆に皆さんの書き込み見ていると、欲しいと思っていた答えがズ
バリと回答されてたりしますので、この板を色々参考にさせてい
ただいてます。
0164名無しさん@お腹いっぱい。 NGNG
>155
 insert 直後なら、プライマリキーも保持したまま
だろうから、それを where につっこんだら
いいんじゃないのかな・・。
oid は、索引されてなくて遅い。
0165名無しさん@お腹いっぱい。 NGNG
sage
0166153 NGNG
>>155
>>156
教えていただきましたことを参考に、以下の様に作成しましたがエラー表示です。
多分私の設定が違うと思うのですが、最後にselectする際の条件でwhere oid = $last_oid
部分がダメなのか?、という気がしてます。
というのも、テーブル自体にはoidというフィールドがないので、何を参照しているの?、と怒られ
ているのではないかと考えました。
因みにphpは以下の様に書いております。

$sql_1 = "insert into test values ('hoge');
$result_1 = pg_exec($conn, $sql_1);
$last_oid = pg_getlastoid($result_1);
if ($last_oid != 1)
{
結果を表示するテーブル作成
}
else
{
エラー表示
}

実行したとき、parse error in xxxxxx on line 103と出まして、103行目が上記における
select文のフレーズなんです。

どこで私は大きな間違いをしでかしてますでしょうか???
0167名無しさん@お腹いっぱい。 NGNG
そもそも 主キーはないの?
0168153 NGNG
>>167
一応テーブル内にはIDというフィールドを設けております。
上記の例ではinsert部分で省略して書いてしまいました。
IDはprimary keyで、自動的に番号を振るようにtest_id_seq
を設定してあります。
0169153 NGNG
ごめんなさい、一つ間違ってました。
sql_1 = "insert into test values ('hoge');
$result_1 = pg_exec($conn, $sql_1);
$last_oid = pg_getlastoid($result_1);
if ($last_oid != 1)
{
$sql_2 = "select * from test where oid = $last_oid; <<<これが抜けてました。

で、103行目は上記のsql_2のフレーズでした
結果を表示するテーブル作成
}
else
{
エラー表示
}
0170名無しさん@お腹いっぱい。 NGNG
くっきー
0171名無しさん@お腹いっぱい。 NGNG
主キーを設定しているんなら、oidではなく、それを where に入れたらいいやんか。
0172cookie NGNG
sage
0173153 NGNG
>>171
ご指摘ありがとうございます。
その場合、今登録された主キーのIDはどのようにして特定すればいい
のでしょうか?
0174電動ナナシ NGNG
POST された内容に含まれているでしょ?
というか、主キーが意味はわかっていないのかな・・・。
テーブル中のレコードを一意に識別する ID に相当する列のことだよ。

例えば、人事テーブルがあって、そのテーブルが
(従業員ID, 氏名, 住所, 連絡先)
という風になっており、同姓同名の人を区別するために従業員 ID を使って
識別しているなら、従業員 ID が主キーになる。

普通主キーとなる列に対しては、重複する列の挿入を禁止するために
Primary Key 制約か Unique 制約を定義するけど、その辺ちゃんとやってる?
これは PHP とか PostgreSQL とかいう以前の、データベース一般の設計の
お話だよ?
0175電動ナナシ NGNG
>>174
おおっと、ID も Primary Key はあるって >>168 に書いてあるね。
勘違いしていた。ごめんなさい。

なるほどね、INSERT した直後に、自動的に割り当てられる ID をどうやって
特定するかって質問なのね。

これは先の人が書いているように oid を取得して特定するしかないんじゃないかな。
それ以外の列って重複する可能性があるから当てにならないしね。

ちなみに自分は自動連番はやってない。登録フォームを表示するときに
squence から番号を取得して、その番号をフォームに保持させておく。
そうすれば、POST された内容に ID が入っているのでそれをキーに参照
できるようになる。

これの欠点は、番号に欠番が生じるということ。だけどそれがそんなに気に
するほどのことかなあ。
0176名無しさん@お腹いっぱい。 NGNG
insert した直後なら、currval( 'sequence名') に入ってるよ。
select currval() するのもよし、直接使うのもよし。

0177名無しさん@お腹いっぱい。 NGNG
>>176
NO!
同じスクリプト内であっても、別なプロセスがINSERTしてしまえば
CURRVALの内容は変わってしまう。初心者にありがちなミス。
正解は電動ナナシ氏指摘の通りOIDの取得。
0178名無しさん@お腹いっぱい。 NGNG
>>177
 ほんとかな。begin, end で囲っているのに?
0179176 NGNG
>>177
>CURRVALの内容は変わってしまう。初心者にありがちなミス。
 同じセッション内なのに、currval の値は変わるのですか?
last_value の値は保証されないようですけどね。どうか教えてください。

 なんせ、初心者 なもので。
0180名無しさん@お腹いっぱい。 NGNG
age
0181名無しさん@お腹いっぱい。 NGNG
> 同じセッション内なのに、currval の値は変わるのですか?
>last_value の値は保証されないようですけどね。どうか教えてください。
やってみりゃいいじゃん。
0182名無しさん@お腹いっぱい。 NGNG
PostgreSQL7.1リリース・・・まじかみたいね。
ファイル名がpostgresql-7.1.tar.gzになってる。
0183176 NGNG
>>181
 変わらないよ。要はそれを言いたい。
0184176 NGNG
177 さんの場合では、変わるようで、
わたしの実験ミスも考えられるし、想定外もあるし、
特定の環境というケースもあるので、変わるケースがあるなら
教えて欲しいのですよ。
0185名無しさん@お腹いっぱい。 NGNG
>>184

話の流れと発言者が何人いるかよくわかりませんが、
>>178でいきなり
>ほんとかな。begin, end で囲っているのに?
という前提条件が登場します。
これが178氏と他の人の差じゃないかな?

>同じセッション内なのに、currval の値は変わるのですか?

という問いには、

* 同一トランザクション内であれば変わらない、が正解。
* begin, endでくくっていない1DML1トランザクションで、currval()を使うのは
誤り。他のプロセス(トランザクションで)値が変わっている可能性がある。

ということでよいでしょうか?>All
0186185 NGNG
大間違い。

* begin, endでくくっていない1DML1トランザクションで、currval()を使うのは
誤り。他のプロセス(トランザクションで)値が変わっている可能性がある。

これは誤り。1DML1トランザクションでも、currval()は他のプロセス
(トランザクション)にかかわらず、普遍ですね。
セッション内で一貫性があるようです。

鬱氏。
0187名無しさん@お腹いっぱい。 NGNG
とどのつまり、今回の用途では、currval() は使ってもいいんでは
0188名無しさん@お腹いっぱい。 NGNG
というわけで、PostgreSQL7.1正式リリースage

# RDBMSについてしゃべる場所ってどこかないのかな?
0189名無しさん@お腹いっぱい。 NGNG
まぁ、どうでもいいことなんだけど、MLで
「シーラカンス本」
「マンモス本」
を前提に語るのはやめて欲しいなー。
あ、俺は両方持ってるんだけど。
前者はバージョンが古いし、後者はちょっとアレだし・・・。
今一、人に薦めづらいんだよね、この本って。
0190名無しさん NGNG
型でserialを宣言してるところに
insertで失敗してもカウントが1上がってしまうのですが
これはしょうがないことなのでしょうか?
0191名無しさん@お腹いっぱい。 NGNG
sage
0192名無しさん@お腹いっぱい。 NGNG
MLはなんか変な奴多くない?
技術系ってそうなのかなぁ。妙に偉そうだったりするの
0193名無しさん@お腹いっぱい。 NGNG
JavaHouseに比べればマシ。
0194名無しさん研究所 NGNG
>>192
激しく同意。うかつに質問なんてできないっしょ。
だから意地になってマニュアル+マンモス本+過去ログで
自分で解決してる。恐ろしく効率悪いけど・・・

# 聞くは一時の恥、聞かぬは一生の恥 とも言いますが・・・
0195名無しさん@お腹いっぱい。 NGNG
>>194
そう。ネット上じゃ逆だねぇ。。
0196名無しさん@お腹いっぱい。 NGNG
>>190
トランザクションを入れてみては・・
0197名無しさん@お腹いっぱい。 NGNG
apache+PHP+postgreでシステム構築したいのですが、OSによる
環境の違いとかはあるのでしょうか?
あと、お勧めのOSは何ですか?
0198名無しさん@お腹いっぱい。 NGNG
>>197
うーん、デフォルトの文字コードが違うとか、使えるシステムコールやライブラリ
のPHPのラッパ関数が違うとか、かな?

OSは、Linux系をお勧めします。
0199名無しさん@お腹いっぱい。 NGNG
>>190
>>196
トランザクションをアボートしても、serial型の場合、
インクリメントされちゃった値はもどんないよ〜。
って、どっかのスレでも話題になってなかった?
02001532001/04/21(土) 16:07ID:2SRwUN3c
やっと皆様からご指摘いただきましたoid=$last_oidを条件に、
たった今insertで登録したデータをselectで引っ張り出すこと
が出来ました。
ありがとうございます。
0201名無しさん@お腹いっぱい。2001/04/21(土) 19:35ID:???
えらい、時間がかかっとるやないか。

いや、ほのぼのとして、良いぞ。
0202153です2001/04/22(日) 10:09ID:GJXSK57Q
>>201
実はスクリプト自体は皆さんのご指摘を元に作成出来ていたのですが、
ずっとエラーが出続けてました。
で、oid=$last_oidの部分が多分問題なのかと思って、ここを色々
いじくっていたんです。
解決出来たのは、もう一度スクリプトをじっくりと眺めていて、「"」
と「'」が2か所抜けておりました・・・
0203名無しさん@お腹いっぱい2001/05/05(土) 16:54ID:ejxtLiFA
初歩的な質問ですいません。

PHPで外部からきたデータに大して、そのままSQL文をつくると、例えば、$a_post_datumが"これは'クォーテーション'です"みたいなので、

pg_exec($conn, "select col from a_table where col2 = '$a_post_datum'");

みたいにすると文字列展開で

"select col from a_table where col2 = 'これは'クォーテーション'です'"

みたいになって、SQL文が成立しなくなるんだけど、みなさん、こういうのにはどう対処しているんでしょうか?
0204名無しさん@お腹いっぱい。2001/05/05(土) 17:35ID:???
' を \' に置換するだけ。
02052032001/05/05(土) 18:30ID:ejxtLiFA
>>204
%と_は?
0206名無しさん@お腹いっぱい。2001/05/05(土) 20:35ID:???
前にエスケープ文字\ を入れろ。つか基本だべ?
02072032001/05/06(日) 16:11ID:kun4pZhs
'と%と_で全部?
0208名無しさん@お腹いっぱい。2001/05/06(日) 18:36ID:???
>>207
シングルクォートのときはシングルクォートの前に入れるだけで良かったと思うけど。
0209名無しさん@お腹いっぱい。2001/05/07(月) 20:18ID:???
7.1からvacuumいらなくなるって話聞いたことあったけれど、気のせい?
これさえいらなければなーとつくづく思うんだがね > PostgreSQL
0210名無しさん@お腹いっぱい。2001/05/07(月) 20:56ID:???
>>209
残念ながら気のせいです。
0211名無しさん@お腹いっぱい。2001/05/08(火) 18:58ID:???
PHPのPostgreSQLインターフェイスってUNIXソケットからローカルホストの
バックエンドに接続できないの?
pg_connectでエラーが出て、postmasterに-iをつけて起動しなおしたら
すんなり動くようになって、動くのはいいんだけれど、なんか気分悪い

親切な方教えてください
0212名無しさん@お腹いっぱい。2001/05/08(火) 19:19ID:Nor6.bTw
UNIXドメインのソケット経由で接続できるはずです(やったことないけど)。
マニュアルの、「LIXPostgreSQL 関数」を参照。
pg_connect()の実引数が微妙に違うみたいです。
02132112001/05/08(火) 20:09ID:???
>>212
http://www.php.net/manual/ja/ref.pgsql.php
の「表 1PostmasterとPHP」ってとこだね
ホスト名を明示しちゃうと、TCP/IP経由になっちゃうんだね
書いてあるとおりに書き換えたらUNIXソケットで接続してくれるようになったよ
どうもありがとう!
0214名無しさん@お腹いっぱい。2001/05/08(火) 20:54ID:???
あ、章番号が変わってるんだ。ごめん。

そろそろ、自動でマニュアルをダウンロードしてmknmzかけるしくみを
作っとかんといかんな。
02157742001/07/08(日) 23:52ID:AeZs44/g
postgreSQL7.0を入れたのですが、psqlの中でヒストリ機能が使えません。
カーソルの上を押したら、前に打ったコマンドが出るようにしたいのですが、
どうしたら良いでしょうか。
ちなみに、通常のコマンドラインではカーソルの上を押せば
前のコマンドが出ます。
0216名無しさん@お腹いっぱい。2001/07/09(月) 12:36ID:???
>>215

readline がないんじゃない?
0217名無しさん@お腹いっぱい。2001/07/09(月) 13:21ID:???
>>216
おそらくはそれが原因だね。あるけど見つからないとか。

>>215
OS はなんだろう?FreeBSD ?
./configure --with-libraries=/usr/local/lib ....
とかで解決できないか?
02187742001/07/09(月) 23:37ID:KhxN5./k
早速のご回答ありがとうございます。
readlineは入っています。
OSはRedHat7.1です。
libへのパスを設定してもダメでした。

---------------------------
$ ls /usr/lib/lib{readline,history}*
/usr/lib/libhistory.a /usr/lib/libhistory.so.4.1 /usr/lib/libreadline.so.4
/usr/lib/libhistory.so /usr/lib/libreadline.a /usr/lib/libreadline.so.4.1
/usr/lib/libhistory.so.4 /usr/lib/libreadline.so

$ ls /usr/include/readline/*
/usr/include/readline/chardefs.h /usr/include/readline/readline.h /usr/include/readline/tilde.h
/usr/include/readline/history.h /usr/include/readline/rlconf.h
/usr/include/readline/keymaps.h /usr/include/readline/rlstdc.h

$ rpm -qa |grep readline
readline-devel-4.1-5
readline-4.1-5
0219名無しさん@お腹いっぱい。2001/07/10(火) 02:12ID:???
>>218

libtermcap を入れてみよー
02202182001/07/10(火) 08:58ID:???
またまたご回答ありがとうございます。
libtermcapも入っておりました。
うーむ。
0221名無しさん@お腹いっぱい。2001/07/10(火) 16:49ID:???
>>220

となると、 config.log を見て readline を見つけそこなっている
原因を探るだねぇ
0222名無しさん@お腹いっぱい。2001/07/14(土) 11:38ID:ZarpnJWo
Warning: Unable to connect to PostgresSQL server: connectDBStart() -- connect() failed: Connection refused Is the postmaster running (with -i) at 'localhost' and accepting connections on TCP/IP port 5432? in
0223名無しさん@お腹いっぱい。2001/07/14(土) 11:39ID:ZarpnJWo
↑原因はなんでしょうか。
フツーにselectで,tableの内容を表示しようとするとこうなる。
当方,管理者ではないので,設定イジくれません。
0224名無しさん@お腹いっぱい。2001/07/15(日) 01:06ID:fduksvn.
pg_connect() でホスト名を空にしてないとか
0225初心者2001/07/23(月) 06:07ID:xOk2bt2U
postgresのあるテーブルのdisplay_date列にdate型を格納してるんですが、
今日の日付と一致する行を表示するにはどうすればいいのでしょうか?
0226名無しさん@お腹いっぱい。2001/07/23(月) 06:34ID:SYz87UN6
select * from "あるテーブル" where display_date = 'now'::date とか
02272252001/07/24(火) 02:01ID:goR17G.A
>>226さんありがおつございます。
で、cshで、.chsrcに「setenv TZ JST-9」としたものの、
psqlで、select 'now'::date;としても、7/24のはずが、
7/23(昨日の日付)が表示されてます。タイムゾーンが設定されていないようです。
postgresはunixとは別の独自のタイムゾーンを持つようだ、ということは、
マニュアルのdatetime-appendix.html
を見てなんとなくわかるのですが、しかしJSTに設定する方法が、これを見てもわかりません。
どうすればいいのでしょうか?
0228JAPU2001/07/24(火) 04:11ID:???
set timezone to 'JST-9';
ついでにいうと、確認のためには select 'now'::datetime; が吉かもしれないにょ。
0229225=2272001/07/25(水) 16:26ID:I8vfzaAc
>>228
すると、毎回set timezone to 'JST-9';の文章を実行しなければならないのですか_
あるいは、postgresの.chsrcみたいのがあればいいのですが・・・
0230名無しさん@お腹いっぱい。2001/07/25(水) 17:23ID:bOBsSY92
postmaster を起こしたやつの timezone になるはず。
0231ナナシファン2001/07/25(水) 19:13ID:xCgI2gSw
PHPでpg_pconnectを使ったときって、何かおかしくない?
ちゃんと動いているという事例を聞いたことがないんだけど、
期待通りに動いている人っている?
0232ほげ2001/07/25(水) 21:06ID:???
>>231
期待どおりにって、SQL投げられるし別に普通だけど。
0233 01/10/11 22:30ID:tBxjcP4c
0234名無しさん@お腹いっぱい。01/10/11 23:11ID:???
>ちゃんと動いているという事例を聞いたことがないんだけど、
狭い世界にお住まいなのですね。
0235Error40101/10/18 17:24ID:fbcY2f30
今日の発見。

pg_pconnect()を使うとqueryが速くなる。何故だ・・・。

name diff total
Start -
Query 0.0416 0.0416
Fetch 0.0217 0.0633
Stop 0.0031 0.0664

name diff total
Start -
Query 0.0186 0.0186
Fetch 0.0217 0.0403
Stop 0.0031 0.0435
0236Error40101/10/18 17:35ID:fbcY2f30
う、見づらいし、何が何だかわかんないね。
・Connectして
・Selectして
・ループで回ってFetchして
・表示する
プログラム。
Benchmark/Timer.php使用。

pg_connect()を使った場合
name    diff    total
Start     -
Connect   0.0185  0.0185
Query     0.0130  0.0315
Fetch Loop 0.0218  0.0533
Stop      0.0031  0.0564

pg_pconnect()を使った場合
name    diff    total
Start     -
Connect   0.0397  0.0397
Query     0.0438  0.0836
Fetch Loop 0.0217  0.1053
Stop      0.0031  0.1084
0237Error40101/10/18 17:37ID:???
すまぬ、pg_connect()とpg_pconnect()の場合が逆だった。
0238名無しさん@お腹いっぱい。01/11/05 22:38ID:I5P+61E/
age がてら。

PostgreSQL に限ったことではないのですが、
・電話番号
・郵便番号
どういう風にフィールド作ってます?

市外 CHAR(4),
局 CHAR(4),
番 CHAR(4)

前3 CHAR(3),
後4 CHAR(4)

みたいな感じ? それとも一つの TEXT/VARCHAR?
それぞれ長所短所あると思いますけど、
よろしかったらみなさまのご意見お聞かせください。

スレ違いならスマソ
0239名無しさん@お腹いっぱい。01/11/06 15:52ID:aGDSTcYL
あれ?
電話番号の市外局番ってMax4桁になったの?
0240名無しさん@お腹いっぱい。01/11/06 16:01ID:???
なったの?って昔からでんがな。
0241名無しさん@お腹いっぱい。01/11/06 16:44ID:???
つか、5桁もある
0242名無しさん@お腹いっぱい。01/11/06 18:24ID:y3LOZtVD
質問です。

PCを最近はじめ、今、PHP+PostgreSQLを勉強中の者です、
DBの、登録、削除、一覧表(毎10件)を、一つのスクリプトで実行したいのですが、一覧する際、最初の10件は、表示してくれるのですが、
11件目から〜が、表示できないで困っております。
自分で考えて作ったのは、メインページからラジオボタンで選択し、
PHPスクリプトの中で、if(もしくはswicth)で、各実行をしてます。
一覧で、submitをクリックすると、11件目から表示させたいんですけど、
どうしてなのか、表示できません。

説明下手でわかりにくいかもしれませんが、誰か、イイアドバイス、お願いします。
ド素人なので、その辺も考慮して、お願いします。
0243名無しさん@お腹いっぱい。01/11/06 18:34ID:OqD8s6xc
>>242
マンモス本読んだ?
0244>>24301/11/07 10:11ID:ieoCTquz
マンモス本読んだけど、いまいちよくわかんないんです^^;
0245名無しさん@お腹いっぱい。01/11/07 11:28ID:ieoCTquz
>>243
どの変(ページ数とか・・・)教えてくれると助かるんですが・・・。
0246名無しさん@お腹いっぱい。01/11/07 12:02ID:???
>>245
漏れが持ってる PHP3 用のやつでよければ 81 ページからあたり。
024724501/11/07 12:43ID:ieoCTquz
>>>246
自分が持ってるのは、PHP4なので^^;
0248名無しさん@お腹いっぱい。01/11/07 12:56ID:rEwaGgOJ
>>242
PHP4のやつはP144,145あたりを読めばいいかと。
でもPostgreSQLのselect文を理解してからのほうが
いいな。
024924201/11/07 14:14ID:ieoCTquz
もう少し、本読んで、勉強しなおします。
ご教授、ありがとうです。
0250その他01/11/09 16:03ID:vDpRquZJ
PostgreSQLのインストール後
regression testを行ったのですが、全てが「failed」
になってしまいました。けれども、createdbもcreatetableも
insertもselectも問題無しに出来ます。でも、あとあと支障とか
あるのでしょうか?知っている方がいらしたら教えて下さい。
0251hen02/02/07 13:36ID:Bho0YULV

item_id | item_name
1    | XX
2    | YY
というテーブルがあって
変数 $itemname = XX として

このときitem_id = "XX"のitem_idを取り出すにはどうすればいいのですか?

とりあえず
$sql = "select item.item_id from item
where item.item_name = $itemname"; //item_nameとコンボボックスのdataが一致する時のitem_id
$result = pg_Exec( $conn, $sql );
とやってみたけどPostgreSQL query failed: って帰ってきます・・
0252hen02/02/07 13:42ID:Bho0YULV
$sql = "select item_id from item
where item_name = \"$itemname\"";

すんません
これに変えるとAttribute 'XX'not found
0253名無しさん@お腹いっぱい。02/02/07 22:38ID:blA7jPNr
SQLで文字列は ' で囲む
0254  02/02/07 23:32ID:z4yCqxdv
いつも、教わってばっかりだから、
たまにわ、教えてやるヨ
$sql = "select item_id from item where item_name = '$itemname'";
って書くんだよ。
''で、変数を囲むんだよ、
これ最強
0255 02/02/07 23:33ID:t9L0Eq4j
http://pc.2ch.net/test/read.cgi/ad/1012670549/l50
http://pc.2ch.net/test/read.cgi/ad/1012670549/l50
http://pc.2ch.net/test/read.cgi/ad/1012670549/l50
http://pc.2ch.net/test/read.cgi/ad/1012670549/l50
http://pc.2ch.net/test/read.cgi/ad/1012670549/l50
http://pc.2ch.net/test/read.cgi/ad/1012670549/l50
http://pc.2ch.net/test/read.cgi/ad/1012670549/l50
http://pc.2ch.net/test/read.cgi/ad/1012670549/l50
http://pc.2ch.net/test/read.cgi/ad/1012670549/l50
http://pc.2ch.net/test/read.cgi/ad/1012670549/l50
http://pc.2ch.net/test/read.cgi/ad/1012670549/l50
http://pc.2ch.net/test/read.cgi/ad/1012670549/l50
0256marois02/02/10 22:51ID:MJ34x4JG
CGI版のPHP4をあるホスティングサービスで使っています。
pg_close($this->con);
のところで「pg_close -1」という値をクライアント(HTML上)
に返してきてしまうので困っています。
@を付けたり色々やってみたけど駄目。
同じスクリプトをPHP3で流すとOK。
ローカルのPHP4(Apache版)でもOK。
なにがいけないのでしょうか?
#このホスティングサービスPHPのサポートはしてくれないのです。
0257名無しさん@お腹いっぱい。02/02/11 06:04ID:yEMLRxJJ
pg_fetch_object()でPGSQL_NUM(数値配列)引数を付けた場合,
次のような$rcプロパティでどのようにアクセスすればフィールドを
参照できるのでしょうか。

$this->rc[$i] = pg_fetch_object($result, $i, PGSQL_NUM);
0258  02/02/11 18:01ID:???
>>256
pg_close($this->con); 自体を削除すればOK!
closeなんて、かかなくても、動く。
0259marois02/02/11 20:58ID:PVwY953h
>closeなんて、かかなくても、動く。
動くとは思いますが、問題は出ないでしょうか?
一連のスクリプトで何度もOPENするのですが。
#セッションは1つなのでしょうか?
#疑ってすみません。
0260名無しさん@お腹いっぱい。02/02/11 21:08ID:???
ついさっきOIDの表示の仕方忘れて大変だった、
select oid, * from table;
って書けばいいんだけどoid,とか記憶から消えてたね。
PostgreSQLの解説系のサイトどこに行ってもoid,の事には
あんまり触れてもないしgoogleでも引っかからないし・・・。

そういえばPostgreSQL関係で新しい本出てたね、あれなんだっけ?
■ このスレッドは過去ログ倉庫に格納されています