[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 07/23 13:23 / Filesize : 258 KB / Number-of Response : 780
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

PHP + PostgreSQL



1 名前:りさあ [ 2001/02/26(月) 04:20 ID:7I8PBOt. ]
語りません?

520 名前:nobodyさん mailto:sage [03/11/23 02:33 ID:???]
>>518
PostgreSQLのライブラリはインストールされてて
phpにはリンクされてない状況かな
(よく考えたらphpコマンド使うなら、php -m でもよかったな)
phpをMakeするのがいいと思う。特にPHPはリンクしなおしが多いので
どっちにしろソースからやっといたほうがいいと思うよ

521 名前:nobodyさん [03/11/23 03:14 ID:kTbiV7p7]
いつかは、やらねばと思ってましたが、ちょっと大変ですね。
がんばってみます。

522 名前:nobodyさん mailto:sage [03/11/23 03:16 ID:???]
>>519
pgsqlはソースからいれたんか。それならrpmでいれたphpには無理でしょ。たとえサポートしていたとしても。
--with-pgsql=shared じゃなくて、--with-pgsql=/usr/local/pgsqlになっとらんといかんのとちゃいまっか?

>>520のいうように、phpをソースから入れなおしが近道なきもするが、どうせapache(?)もrpmから入れたんかな?

523 名前:nobodyさん [03/11/23 10:46 ID:kTbiV7p7]
>522
そうです。apache&php=>rpm postgres=>tarでした。
コンパイルオプションが複雑に絡む場合は、関連するものすべてソースから
入れたほうがいい、、ということなんでしょうか。教訓として。

524 名前:nobodyさん mailto:sage [03/11/23 12:35 ID:???]
関連するものはヘッダとライブラリがあればいいよ
ヘッダとライブラリだってrpmで提供されてる場合が多いし

コンパイルオプションやリンクするライブラリが
変わることが多い場合はソースのがいいとは思う

パッケージのディレクトリ構成を/usr/localに一本化
したかったり使い分けがめんどくさいと思ったら
ソースから入れるのがいいかもね。慣れるとどっちでも
同じ感覚でインストールできるよ

525 名前:nobodyさん mailto:sage [03/11/23 23:04 ID:???]
>>523
/libにlibpq.so.*のリンクを作ってから、phpのrpmをインスコするとどうなるのだろう。
と、ふと思った。


526 名前:nobodyさん [03/11/24 09:18 ID:pzrePjyL]
psqlではふつーにselectで引っ張ってこれるんだけれども、
PHPからデータとってこようとすると、そこで処理が停止してしまうんです。
PEAR_DBを使っていたんでそのせいかともおもって、
pg_*で書き直して試してもやっぱり同じ。

データの内容は300近いWebページのソースです。
9割くらいのページは正常にfetchしてこれるんですが、残り1割が固まります。

mb_convert_kana/encodingでEUC-JPにノーマライズしてから格納しているんですが・・・。
っていうか、UPDATEできるのにfetchできないってどういうことなんでしょう。

527 名前:nobodyさん [03/11/27 19:56 ID:HaCIHFLT]
簡単なことかもしれないんですけど、postgresqlのカラムにdatetime型で
日付時刻が入ってまして、これをphpで「年/月/日/ 時:分」という形に
したいんですが、なんかそのものずばりの関数ってないでしょうか?
また、関数がない場合、こういう場合は普通どう処理するんでしょうか?
もし解説したWebページがあれば教えて下さい。


528 名前:nobodyさん mailto:sage [03/11/27 20:02 ID:???]
>>527
解説したページ
www.php.net/manual/ja/function.date.php

SQLでやっちゃうのもいいよ。そっちのやりかたはPostgreSQL付属のドキュメントをみてね☆



529 名前:nobodyさん mailto:sage [03/11/28 01:13 ID:???]
SELECT to_char(hoge_date, 'YYYY/MM/DD HH24:MI') FROM table;

530 名前:nobodyさん mailto:sage [03/11/28 01:44 ID:???]
>>526
> UPDATEできるのにfetchできないってどういうことなんでしょう

selectをEXPLAINしてみたら?たぶんSeq Scanじゃないかな。
UPDATEはWHEREにINDEX使ってるだろうからIndex Scanになってるはず。

select文にand index > 0 とか追加してIndex Scanさせれば早くなってタイムアウトしないんじゃねーですかい?

例えて悪いけど
SELECT to_char(hoge_date, 'YYYY/MM/DD HH24:MI') FROM table;
hoge_dateにkeyがなければこれも遅いと思います。

id integer primary key があるとするなら、

SELECT to_char(hoge_date, 'YYYY/MM/DD HH24:MI') FROM table where id > 0;
とすればちったー早くなると思います。

531 名前:527 [03/11/28 21:59 ID:UsQiFXqj]
528さん、529さん、530さんレスどうもありがとうございます。
kterm上でSQLを
select to_char(uptime, 'YYYY/MM/DD HH24:MI') from table;
とすると、無事、2003/11/27 21:30 と出力されました。
ただ、私はphpのスクリプト中で取得したいのです。
たとえば、imageというテーブルに
id serial, uptime datetime,
というカラムがあるとして(実際のカラムはもっと多いです。)、
insert into image(uptime) values('now');
とデータを入れています。このテーブルから日付時刻を
$sql="select * from image";
$rs = pg_query($db, $sql);
while ($data = pg_fetch_array($rs)) {
print("<td>".$data['id']."</td>");
print("<td>".$data['uptime']."</td>");
}
略~ print("<td>".$data['id'].":".$data['uptime']."</td>");~略
として 表の中に出力したいのですが
そのへんをもう少し教えていただけないでしょうか?          

532 名前:nobodyさん mailto:sage [03/11/28 22:25 ID:???]
>>531
$data['uptime'] = date("〜",$date['uptime']) とか、 --PHP date関数
select select to_char(uptime, '〜') as formatted_uptime from table とか。 -- SQL as句

533 名前:526 [03/11/29 05:22 ID:3dfgxKEK]
一応 EXPLAIN してみましたが、IndexScan であっさり。

で、いろいろ追ってみたのですが、
どうやらpostgresのヒープサイズをオーバーしてるせいみたいでした。
いろんなサイズのを試してみたら、ちょうど32kくらい以上だと、
同様の現象がでるようでした。

おそらく text 型にでかいの突っ込んでるからだとおもいます。
実質上限がないものだとばかり思ってたんで、がっくり。

ラージオブジェクトならうまくいくだろうか・・・。

にしても解せないのは、なんで psql ではできて、php からはできないのか。
7.1以前のまんまなのかなぁ。

534 名前:nobodyさん [03/11/29 15:10 ID:3wwIsq6W]
すいません。データベースを作ろうとして、エラーが出てしまうのですが、
何か間違っていますでしょうか。
ユーザpostgres作成。dataというディレクトリを作成。オーナーをpostgresに。
そして、postgresになってから、initdbで作成。ここで躓きます。
#initdb -D /usr/local/pgsql/data
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale ja_JP.euc.

fixing permissions on existing directory /usr/local/pgsql/data... ok
creating directory /usr/local/pgsql/data/base... ok
creating directory /usr/local/pgsql/data/global... ok
creating directory /usr/local/pgsql/data/pg_xlog... ok
creating directory /usr/local/pgsql/data/pg_clog... ok
selecting default max_connections... 10
selecting default shared_buffers... 50
creating configuration files... ok
creating template1 database in /usr/local/pgsql/data/base/1... FATAL: XX000: f
ailed to initialize lc_messages to ""
LOCATION: InitializeGUCOptions, guc.c:1866

initdb: failed


535 名前:nobodyさん mailto:sage [03/11/29 19:01 ID:???]
#ってことは、postgresになってないと思うのだが・・・

536 名前:nobodyさん [03/11/29 19:14 ID:3wwIsq6W]
>535
534です。
すいません。postgresになっても、同じ名でした。
あと、そのエラーのあとに、同じコマンドを打つと、下記のようなエラーが出ます。

initdb: directory "/usr/local/pgsql/data" exists but is not empty
If you want to create a new database system, either remove or empty
the directory "/usr/local/pgsql/data" or run initdb with an argument other than
"/usr/local/pgsql/data".

537 名前:nobodyさん [03/11/29 19:29 ID:3wwIsq6W]
以下のリンクにあるようにやったら、とりあえず作成だけはうまくいきました。
⇒ttp://ml.postgresql.jp/pipermail/pgsql-jp/2003-November/006615.html
例)
$LANG=C initdb --encoding=EUC_JP --no-locale
$LANG=C pg_ctl start
でも、即行でデータベースがシャットダウンしてしまいます。
[postgres@linux data]$ LANG=C pg_ctl start
postmaster successfully started
[postgres@linux data]$ LOG: database system was shut down at 2003-11-29 19:16:3
3 JST
LOG: checkpoint record is at 0/9B0B8C
LOG: redo record is at 0/9B0B8C; undo record is at 0/0; shutdown TRUE
LOG: next transaction ID: 534; next OID: 17142
LOG: database system is ready


538 名前:nobodyさん mailto:sage [03/11/29 19:30 ID:???]
すでにdataディレクトリがあるんでしょ。まず消すところから試してくれ



539 名前:nobodyさん [03/11/29 19:39 ID:3wwIsq6W]
すいません。ちゃんとできました。落ち着いて、一個一個確かめてやったらできました。
空回りやローでゴメンゴ

540 名前:nobodyさん [03/12/01 19:27 ID:GUQR4nbL]
すいません、テーブルの結合についておしえてください。
addres(id serial, name varchar(32), company_id int, sityouson_id int),
company(id serial, company_id int, company varchar(32)),
sityouson(id serial, todouhuken varchar(32), sityouson_id int, sityouson varchar(32))
という3つのテーブルがあり、
name, company, todouhuken, sityouson
というふうに取得したいのですが、どのようにするのがよいでしょうか?
例えば、
addres(id serial, name varchar(32), company_id int),
company(id serial, company_id int, company varchar(32)), から
name,companyとして取得するには
select addres.name, company.company where addres.company_id=company.company_id
でいいと思うんですが、tableが3つのときがわかりません。
select addres.name, company.company, sityouson.todouhuken,
sityouson.sityouson where addres.company_id=company.company_id and
addres.sityouson_id=sityouson.sityouson_id
とかでしょうか?

541 名前:nobodyさん [03/12/01 19:47 ID:YrMX5TT+]
homepage3.nifty.com/hot-hot/7254.html

542 名前:nobodyさん [03/12/02 01:18 ID:Dm3L1AqD]
phpの設置についてお伺いしたいのですが…。

php の実行を許可する.htaccess の記述は
どのようになるのでしょうか。

その設定の必要のないサーバで実行していたものを
今度設定が必要なサーバに移すことになりまして
教えていただけませんでしょうか。

543 名前:nobodyさん mailto:sage [03/12/02 01:26 ID:???]
>>542
httpd.confと同じように、
AddType application/x-httpd-php .php
でいいよ。
<Directory>で囲った方が気持ちいいかな。

php.iniで設定するようなやつはマニュアルの「はじめに - 設定」を参照してみそ。

544 名前:nobodyさん [03/12/02 01:43 ID:Dm3L1AqD]
>>543 さん
ありがとうございます。
早速やってみます。



545 名前:542・544 [03/12/08 15:04 ID:bUzy6m4p]
問題なく稼動中です。
ありがとうございました。

546 名前:nobodyさん [04/01/05 17:50 ID:ksHHV4PL]
すみません、PHPのMySQL関数にある、
mysql_data_seek(intRs,intRow) この関数なんですけど
postgreSQLで同じようなのないでしょうか?


547 名前:nobodyさん mailto:sage [04/01/05 22:18 ID:???]
>>546
pg_result_seek() かな?

つか、カーソル使えよ。

548 名前:nobodyさん mailto:sage [04/01/10 20:36 ID:???]
PHP + PostgreSQLでオススメの書籍はありますか?



549 名前:nobody [04/01/12 21:34 ID:DtxerTTK]
シーラカンス?


550 名前:nobodyさん mailto:sage [04/01/12 21:47 ID:???]
マンモス?

551 名前:nobody [04/01/12 22:22 ID:DtxerTTK]
10日でできる…ってゆうのを詠んだ。
具体的ではあったがPHPの一部分しかあつかってなかった…
webのほうが為になる気が…

552 名前:nobodyさん mailto:sage [04/01/13 00:46 ID:???]
とりあえず赤、青マンモス本とシーラカンス本があればいいんでは。
あとはwebでどうにかなる。

553 名前:nobodyさん mailto:sage [04/01/13 01:31 ID:???]
www.postgresql.jp/PostgreSQL/bookreview/websystem.html
これが結構良かったけど

554 名前:nobodyさん mailto:  [04/01/23 17:29 ID:???]
オンラインショッピングサイトやってるんですけどお客さん(店長さん)に

商品を編集するのに管理画面でやるのは面倒くさいので、
CSVでダウンロードしてエクセルで修正してまたアップロードしたい

って言われたんですけど、UPDATE に対応した COPY コマンドみたいなことってできませんでしょうか?
PHP で一行ずつ商品番号を調べて UPDATE でもいいんですが、時間がかかってしまうので。。。
何かいい方法があったら教えてください。おながいします。

555 名前:  mailto:sage [04/01/23 17:47 ID:???]
555get, zuzaa

556 名前:nobodyさん mailto:sage [04/01/23 20:29 ID:???]
> PHP で一行ずつ商品番号を調べて UPDATE でもいいんですが、時間がかかってしまうので。。。

1000件程度であればそんなに時間かからないと思うんですけど、そんなに商品の数多いんですか?

557 名前:nobodyさん mailto:  [04/01/23 21:21 ID:???]
>>556
ちょっと待つ感じですね。まぁお客さんに遅いと感じたら小分けにしてくださいと言っときます。お邪魔しますた。

558 名前:nobodyさん [04/02/11 22:13 ID:EReQ7yHa]
TeraTermで文字化けしちゃうんですが・・・
TeraTermの端末設定は送受信ともEUCにしてEUC_JPにしたDBを開きます。

# psql -l
List of databases
Name | Owner | Encoding
-----------+----------+----------
testdb | postgres | EUC_JP

# psql testdb
# \encoding EUC_JP

testdb=# SELECT * FROM report;
number | title | report
--------+-------------+---------
1 | <A5><BF><A5><A4><A5><C8><A5><EB>1 | <CB><DC><CA><B8>1
2 | <A5><BF><A5><A4><A5><C8><A5><EB>2 | <CB><DC><CA><B8>2

とまぁこんな調子です。
ホントは 1,タイトル1,本文1と入っているのに。
ちなみにPHPからブラウザを通してみると正常に見えました。
TeraTermの問題でしょうか?



559 名前:nobodyさん [04/02/13 10:50 ID:JC2NxhSZ]
Postgresってローカルにインストールできますか?

560 名前:nobodyさん mailto:sage [04/02/13 10:57 ID:???]
>>559
逆にお伺いしますが、リモートにインストールってどうやってやるんでしょう?
あ、それともグローバルの反対のローカルかな?んな訳ないか…。

561 名前:nobodyさん [04/02/13 12:09 ID:JC2NxhSZ]
ええと、自分のパソコンのWindowsに入れたいのですが。

562 名前:nobodyさん mailto:sage [04/02/13 12:29 ID:???]
>>558
Pagerが日本語通らないのではないか
日本語パッチ当たったless か more 入れて見たら

563 名前:nobodyさん mailto:sage [04/02/14 13:57 ID:???]
MySQLと比較して、PostgreSQLの1番良い機能はなんですか?

564 名前:nobodyさん mailto:sage [04/02/14 16:06 ID:???]
ドキュメントが整理されている

565 名前:nobodyさん mailto:sage [04/02/14 16:38 ID:???]
>>561
Windowsは無理。MySQLなら可能。

566 名前:nobodyさん mailto:sage [04/02/14 17:04 ID:???]
>>561
WindowsでPostgreSQLとゆーと、
有料だけとPowergresとか、cygwin上で動かすくらいかな。
WindowsNativeなものを作ってた人もいたけどもうメンテしてなかった気がする。
Linuxはあちこちに情報があるので割愛。
Macはよく知らない。

567 名前:nobodyさん mailto:sage [04/02/14 17:24 ID:???]
Macの場合、OSXだとUNIX環境にPHP+PostgreSQLの環境を構築出来ます。

英語だけど、ここが参考になります。
ttp://www.entropy.ch/home/

568 名前:nobodyさん mailto:sage [04/02/14 19:29 ID:???]
おいらがPantherにPostgreSQL7.4インスコしたときのメモ。

1. Finkでreadlineをインストール

2. PostgreSQLをビルド&インストール
$ ./configure --with-includes=/sw/include --with-libraries=/sw/lib
$ make
$ sudo make install

3. システム環境設定の「アカウント」からユーザ「postgres」を作成。
名前欄は「Postgres」とでもしておく。

つづく。



569 名前:nobodyさん mailto:sage [04/02/14 19:30 ID:???]
4. 環境変数を設定。(.bash_profileに以下の記述を追加)
if [ -e /usr/local/pgsql/ ]; then
export POSTGRES_HOME=/usr/local/pgsql
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=$POSTGRES_HOME/data
export PATH=$PATH:$POSTGRES_HOME/bin
export MANPATH=$MANPATH:$POSTGRES_HOME/man
fi

5. PosgreSQLを初期化&起動
$ cd /usr/local/pgsql
$ sudo mkdir data
$ sudo chown postgres:postgres data
$ sudo chmod o-rwx data
$ sudo su postgres
$ initdb --no-locale --encoding=UNICOCE -D $PGDATA

570 名前:nobodyさん mailto:sage [04/02/14 19:35 ID:???]
あとはPostgresが自動起動するように/private/etc/hostconfigを設定するのと
/Library/StartupItemsに関連ファイルを入れればおしまい。

これはentropy.chのパッケージ(pgsql-startupitem-1.2.pkg)を使えば一発だし
自力でやりたいのならDarwin用にビルドしたときにPostgresのStartupItemが生成されて、
設定方法も表示されるからそれに従えばOK・・・・だった気がするんだけど
これについてはメモを取り忘れてて思い出せないっス。

571 名前:nobodyさん mailto:sage [04/02/14 19:39 ID:???]
entropy.chのPostgresを使うときはPHPのビルド時にopensslを含めないとエラーが出るのと
makeの前にsudo ranlib /usr/local/pgsql/include/libpqしないとエラーが出ることがあるのに注意。

572 名前:nobodyさん mailto:sage [04/02/14 19:40 ID:???]
スマソ、>>571
/usr/local/pgsql/lib/libpq.a
ですた。

573 名前:nobodyさん [04/02/15 16:03 ID:Axezk+8k]
永谷園のホームページ、ダウン中。。
www.nagatanien.co.jp/

pg_connect() unable to connect to PostgreSQL server: connectDBStart() -- connect() failed: No such file or directory
:
:
このエラーが出るってことは、テストしていないってことか?
ここ見てる担当者、何とかしたほうがいいんじゃない?

www.nagatanien.co.jp/cgi-bin/printenv

このプログラム、普通消さないか?

574 名前:nobodyさん mailto:sage [04/02/15 17:42 ID:???]
まだデバッグ中なんだろ

575 名前:nobodyさん mailto:sage [04/02/15 18:33 ID:???]
デバッグするなら外部からアクセス遮断するとかしないのか?
DBのフィールド名までおっぴろげでるぞ。

576 名前:森の妖精さん mailto:sage [04/02/15 18:40 ID:???]
あぶねーなー。。これ。。。
ポートもデフォルトだし。もしかしてパスワードとか設定してなかったら
ガクガクブルブルものだな。


577 名前:nobodyさん mailto:sage [04/02/15 21:55 ID:???]
デフォルトで外部サーバから接続できないからいいだろ

578 名前:nobodyさん mailto:sage [04/02/15 22:30 ID:???]
普通は本ちゃんサーバーのエラーメッセージは非表示にしないか?



579 名前:558 mailto:sage [04/02/15 22:44 ID:???]
>>562
失礼しました〜

580 名前:nobodyさん mailto:sage [04/02/16 01:53 ID:???]
つか、apache, PHPとも古すぎだろ、これ。

/func/の下も.htaccessで遮断してないので.inc読めちゃうし...。

581 名前:nobodyさん mailto:sage [04/02/16 17:19 ID:???]
でも、あんまりおっぴろげると鯖缶が悪いのにこっちがパクられちゃうんだよね。

582 名前:nobodyさん mailto:sage [04/02/17 01:52 ID:???]
訂正されとる
ここ見たのかねw

583 名前:582 mailto:sage [04/02/17 01:53 ID:???]
javascriptのエラーがうざいが、printenvは消えとる

584 名前:nobodyさん mailto:sage [04/02/17 21:42 ID:???]
なんでも入りの新しいサーバーになってる。
でも結局、どのモジュールも古いな。
なんでわざわざ古いモジュール使ってるんだろ?

uptime.netcraft.com/up/graph?site=www.nagatanien.co.jp

585 名前:nobodyさん mailto:sage [04/02/18 07:43 ID:???]
2/15から2/16いっぱいまでずっとダウンしていたな。。

たかがこのエラーの修復ぐらいで何でそんなに時間がかかるのかと
不思議だったが、何とOSの入れ替えをしてたのか...w
相変わらずHTTPS開いているし
証明書、localhost.localdomainだし(Turboのときはsnakeoilのヤツだった)

エンジニアとしてはレベル低いかもw


586 名前:nobodyさん mailto:sage [04/03/05 22:55 ID:???]
質問です。

Solaris+PostgreSQL不明+PHP不明を使っています。
TIMESTAMP型のカラムへPHPのフォームで入力した値を入れようとするとエラーで、データが登録できません。
ちなみに入力しようとした値をそのままpsqlコマンドで入力したら正常に登録出来ました。

Linux+PostgreSQL7.3+PHP4.3.1の場合、同じソースで問題なく利用できました。
SQLとPHPのバージョンが確認できていなくあれですがこれは何が悪いのでしょうか?


587 名前:nobodyさん mailto:sage [04/03/05 23:25 ID:???]
釣は放置で

588 名前:nobodyさん mailto:sage [04/03/06 01:30 ID:???]
さっがっそうぜ!ドラゴンボール!!



589 名前:nobodyさん mailto:sage [04/03/06 16:09 ID:???]
釣りと思われるくらいに簡単な問題なんですか。。。
ぐぐってみてもそれらしい問題が出てこなかったんだけどなぁ。
ヒントだけでも下さい。。。

590 名前:nobodyさん mailto:sage [04/03/06 16:23 ID:???]
www.google.co.jp/search?q=%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E5%87%BA%E3%81%BE%E3%81%99

591 名前:nobodyさん mailto:sage [04/03/06 18:20 ID:???]
あー失礼しました。
エラー内容は下記の通りです。
Warning: pg_query() [function.pg-query]: Query failed: ERROR: parser: parse error at or near "00" at character 37 .
で、実際にpg_queryに渡しているのは、
INSERT INTO date VALUES ('2004-03-06 00:00:00')
です。

値の渡し方がマズイのでしょうか?

592 名前:nobodyさん mailto:sage [04/03/06 18:59 ID:???]
>>591
テーブル構造カモーンΨ(゜∀゜)Ψ

593 名前:nobodyさん mailto:sage [04/03/06 19:07 ID:???]
>>591
> 実際にpg_queryに渡しているのは、
> INSERT INTO date VALUES ('2004-03-06 00:00:00')
> です。
ほんとか?

594 名前:nobodyさん mailto:sage [04/03/06 20:12 ID:???]
>>592
失礼しました。テーブル構造です。
sql_test=# \d date
Table "public.date"
Column | Type | Modifiers
--------+-----------------------------+-----------
date | timestamp without time zone |

>>593
pg_queryに渡した変数をそのまま変数で書き出してペーストしたので間違っていないかと思います。
問題点を明確にする為にTIMESTAMP部分を抜き出して下記のような感じでテストしています。
現在手元にSolarisをいじれる環境がないので、アドバイス結果をすぐには試せないのですが、
RedHatの鯖ではこれで問題なく動きました。
Solarisの鯖では何故か>>591のようなエラーが。。。

<?php
$inc_pg['sql_query'] = "INSERT INTO date VALUES ('" . $_POST['fdate'] . "')";

$string = 'dbname=sql_test';
$db['handle'] = pg_connect ($conn);

$pg['exec_id'] = pg_query ($db['handle'], $pg['sql_query']);

pg_close ($db['handle']);

print 'sql =>' . $pg['sql_query'];

?>

足りない情報がありましたら出せるだけ出しますので、よろしくおねがいします。

595 名前:586 mailto:sage [04/03/06 20:16 ID:???]
>>594
スクリプトで一部間違ってました。

>$string = 'dbname=sql_test';
>$db['handle'] = pg_connect ($conn);
-----
$conn = 'dbname=sql_test';
$db['handle'] = pg_connect ($conn);


596 名前:586 mailto:sage [04/03/06 20:20 ID:???]
訂正をなんどもすみません。

>$inc_pg['sql_query'] = "INSERT INTO date VALUES ('" . $_POST['fdate'] . "')";
-----
$pg['sql_query'] = "INSERT INTO date VALUES ('" . $_POST['fdate'] . "')";


597 名前:nobodyさん mailto:sage [04/03/06 21:53 ID:???]
SQLインジェクションが非常に気になるが、それは置いといて、

pgsqlのバージョンは、select version(); で確認できる。
phpもpnpinfo();でわかる。

で、ひょっとしたらYMDじゃなくて、MDYに設定されているのかも?
確認方法があったと思うが失念。
'03/06/2004 00:00:00'でやるとどうなるかな。

598 名前:586 mailto:sage [04/03/06 23:54 ID:???]
>>597
アドバイスありがとうございます。
SQLインジェクションについてはまだ考えてません。
それはおいおい学習していきたいと思います。

バージョン情報の確認とMDY形式の入力を試してみたいと思います。



599 名前:nobodyさん mailto:sage [04/03/07 17:08 ID:???]
show DateStyle; とか
でもどっちで明らかな奴は自動で判別するけどな

600 名前:nobodyさん mailto:sage [04/03/08 04:17 ID:???]
>>498

Mac OS X 10.2.8,PostgreSQL 7.4.1,PHP 4.3.4で
全てソースをコンパイルして環境を作っていたんですが、
同じ現象に悩まされました。
ただ、

ld: unknown flag: -export-symbols

なわけだから、

Makefile の該当行でそのフラグを指定してる箇所を削って
次のようにしたら make は成功しました。

EXTRA_LDFLAGS = -L/usr/local/pgsql/lib


601 名前:nobodyさん mailto:sage [04/03/08 04:18 ID:???]
>>497 だったみたい

602 名前:586 mailto:sage [04/03/08 21:02 ID:???]
Solaris鯖はPostgresは7.1とPHP4.3.1でした。
それで'03/06/2004 00:00:00'の形式で入力しましたら無事にDBに登録されました。
アドバイス、本当にありがとうございました。
これで次に進めます。

603 名前:S.N [04/03/11 20:48 ID:Gs6PweG/]
春日井市の方にある藤山台幼稚園の園長先生の名前を知ってる方いらっしゃいませんか?
知ってたら教えて下さい。宜しくお願いします。

604 名前:nobodyさん [04/03/13 01:00 ID:36IkPElZ]
Linux+PostgreSQL7.3+PHP4.3.1での話なんですが
同環境の鯖からpg_dumpallしたファイルを
psql -f しようとしたら
「\connect: FATAL 1: IDENT authentication failed for user "xxxx"」
と怒られてぐぐった結果
pg_hba.confのlocalをall trustにしたんですけどまだ同じ症状なんです。
他に権限設定するファイルってあったら教えてください。
あと自宅鯖ですがpg_hba.confのlocalをall trusって危険ですか?


605 名前:ネットdeDVD(・∀・)♪ ◆uRDVDsgexc mailto:sage [04/03/13 01:06 ID:???]
PHPってすごいんですね・・・

606 名前:nobodyさん mailto:sage [04/03/14 14:23 ID:???]
>>604
よくわからんけど、ラージオブジェクトは使ってる?
pg_dumpall -g > "filename"
で、グローバルデータのバックアップはやった?

607 名前:nobodyさん [04/03/15 11:56 ID:u5uDbosW]
>>606
ラージオブジェクトは使ってないんです、
オプションは-fだけ付けてダンプでした…、
もう一度新鯖の方、DB初期化からやり直してみるカナ…。

608 名前:nobodyさん mailto:sage [04/03/15 13:16 ID:???]
ml.postgresql.jp/pipermail/pgsql-jp/2002-September/002592.html



609 名前:nobodyさん [04/03/16 03:09 ID:0I5atoz5]
>>608
すいません、initdbしちゃいました。
(そしたらあっさり動きました!)
今回のトラブル中でgoogle引いているなかで一つ気になったのが
hba.confでのlocalの設定の書き方なんですが、
どこだか忘れましたがあるサイトで
local  all  all  trust
ってー書き方しているページがあったんですが
ml.postgresql.jp/pipermail/pgsql-jp/2002-September/002592.html
とかオンラインマニュアルなんかは
local  all  trust
ですよね?
見間違えかナア?

610 名前:nobodyさん [04/03/16 03:10 ID:0I5atoz5]
失礼、お礼を書き忘れた!!
606さん
608さん
どうもありがとうございました!

611 名前:nobodyさん mailto:sage [04/03/16 08:31 ID:???]
>>609
7.3あたりで 項目が増えたんじゃなかったかな?
changesを見てマジっすかって思った記憶があるよ。

612 名前:nobodyさん [04/03/18 05:39 ID:zQ2yHGPu]
>>611


pg_hba.conf の詳細は、PostgreSQL のドキュメントの 6.1. The pg_hba.conf fileにあります。



セカンダリパスワードが廃止されました。
USER カラムが追加されました。
データベースとユーザをカンマ区切りで列挙できるようになりました。 また、+グループ名でグループを、 @ファイル名でデータベース名またはユーザ名を記述したファイルを指定できるようになりました。
キーワードsamegroupが追加されました。

だそうです。
www.us.postgresql.org/users-lounge/docs/7.3/postgres/client-authentication.html

613 名前:nobodyさん mailto:sage [04/03/20 09:22 ID:???]
PHPもPostgreSQLも今日から挑戦してみる新参者です。

┌─┬─┬─┐
│○│△│×│
├─┼─┼─┤
│◎│□│◇│
└─┴─┴─┘
TABLEを用いてDBの値を上記のように表記したいのですが
PHPとPostgreSQLの組み合わせの定石などありますでしょうか。

PHP変数のスコープ範囲をグローバルとして確保するなら
SQLから変数へ一度に値を確保しておいて
<TABLE><TR><TD><?echo $変数1?></TD><TD><?echo $変数2?></TD>......
などとできそうかなと考えたのですけれど、下策でしょうか。


614 名前:nobodyさん mailto:sage [04/03/20 10:06 ID:???]
>>613
プログラミングそのものが始めてというならそれでも構わんが、
とりあえずやって慣れないとな。

次ステップとして、foreach文でループしながら書き出す。
その次は、PEARのHTML_Tableを使って書き出す。
また、その次はテンプレートを使って書き出す。

手法はいろいろあるから、技術レベルとサイトの規模に合わせて
使い分けすりゃいいべ。

615 名前:nobodyさん mailto:sage [04/03/20 11:25 ID:???]
>614
つまり各個別で変数をひとつずつ出力するよりも
タグまで出力することを一区切りとして実装した方が
負荷が少ないということになるのですね。

テンプレートは自分でクラスを作ればいいということでしょうか。
HTML_Tableは<TBODY>や<COL>要素が出力されないようなので
自分で作ってみようと思います。
ありがとうございました。


616 名前:nobodyさん [04/03/22 16:39 ID:QoPkBfoi]
webから入力されたe_mailアドレスをDBに貯めておいてcronで一定時に
配信するプログラムを作ろうと思ったんですがそのcronで呼ばれる方のphpは
コマンドライン版(プログラムの頭に#/×××/×××/php とか付く奴)にあたると思うんですが
デバグ時にコンソールから直で呼び出した時にエラーをモニタにだしたいんですが
なにかオプション付けて実行とかどなたかご存知でしょうか?

617 名前:nobodyさん mailto:sage [04/03/22 17:05 ID:???]
>>616
PHPのマニュアルの PHPをコマンドラインから使用する を見てみれ。

618 名前:616 [04/03/23 04:32 ID:PH/L9hMF]
>>617さん
#!/usr/bin/php -qを頭につけて
クーロンと直接実行と両方試したんですが
エラーもはかずに配信もされないんですが
コマンドライン版特有のデバグ方法等ありましたら
url等情報頂けたらありがたいです。



619 名前:nobodyさん mailto:sage [04/03/23 05:59 ID:???]
>>618
617ではないが、
MTAのログは?

620 名前:616 [04/03/23 18:38 ID:zP9z4yZ0]
>>619
/var/log/mail_logには一切メールを送った形跡なし…。
何故エラーすら吐かないんだろう?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<258KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef