1 名前:りさあ [ 2001/02/26(月) 04:20 ID:7I8PBOt. ] 語りません?
252 名前:hen [02/02/07 13:42 ID:Bho0YULV] $sql = "select item_id from item where item_name = \"$itemname\""; すんません これに変えるとAttribute 'XX'not found
253 名前:名無しさん@お腹いっぱい。 [02/02/07 22:38 ID:blA7jPNr] SQLで文字列は ' で囲む
254 名前: [02/02/07 23:32 ID:z4yCqxdv] いつも、教わってばっかりだから、 たまにわ、教えてやるヨ $sql = "select item_id from item where item_name = '$itemname'"; って書くんだよ。 ''で、変数を囲むんだよ、 これ最強
255 名前: [02/02/07 23:33 ID:t9L0Eq4j] pc.2ch.net/test/read.cgi/ad/1012670549/l50 pc.2ch.net/test/read.cgi/ad/1012670549/l50 pc.2ch.net/test/read.cgi/ad/1012670549/l50 pc.2ch.net/test/read.cgi/ad/1012670549/l50 pc.2ch.net/test/read.cgi/ad/1012670549/l50 pc.2ch.net/test/read.cgi/ad/1012670549/l50 pc.2ch.net/test/read.cgi/ad/1012670549/l50 pc.2ch.net/test/read.cgi/ad/1012670549/l50 pc.2ch.net/test/read.cgi/ad/1012670549/l50 pc.2ch.net/test/read.cgi/ad/1012670549/l50 pc.2ch.net/test/read.cgi/ad/1012670549/l50 pc.2ch.net/test/read.cgi/ad/1012670549/l50
256 名前:marois [02/02/10 22:51 ID:MJ34x4JG] CGI版のPHP4をあるホスティングサービスで使っています。 pg_close($this->con); のところで「pg_close -1」という値をクライアント(HTML上) に返してきてしまうので困っています。 @を付けたり色々やってみたけど駄目。 同じスクリプトをPHP3で流すとOK。 ローカルのPHP4(Apache版)でもOK。 なにがいけないのでしょうか? #このホスティングサービスPHPのサポートはしてくれないのです。
257 名前:名無しさん@お腹いっぱい。 [02/02/11 06:04 ID:yEMLRxJJ] pg_fetch_object()でPGSQL_NUM(数値配列)引数を付けた場合, 次のような$rcプロパティでどのようにアクセスすればフィールドを 参照できるのでしょうか。 $this->rc[$i] = pg_fetch_object($result, $i, PGSQL_NUM);
258 名前: mailto:sage [02/02/11 18:01 ID:???] >>256 pg_close($this->con); 自体を削除すればOK! closeなんて、かかなくても、動く。
259 名前:marois [02/02/11 20:58 ID:PVwY953h] >closeなんて、かかなくても、動く。 動くとは思いますが、問題は出ないでしょうか? 一連のスクリプトで何度もOPENするのですが。 #セッションは1つなのでしょうか? #疑ってすみません。
260 名前:名無しさん@お腹いっぱい。 mailto:sage [02/02/11 21:08 ID:???] ついさっきOIDの表示の仕方忘れて大変だった、 select oid, * from table; って書けばいいんだけどoid,とか記憶から消えてたね。 PostgreSQLの解説系のサイトどこに行ってもoid,の事には あんまり触れてもないしgoogleでも引っかからないし・・・。 そういえばPostgreSQL関係で新しい本出てたね、あれなんだっけ?
261 名前: mailto:sage [02/02/12 00:06 ID:???] >>259 書かなくても,問題でない。 どーせ、commitとか、してないんだろ。 そんな、PGだから、closeなんて、不要
262 名前:marois [02/02/12 01:39 ID:Ixi/JtIe] 失礼な^^; テーブルの更新にはトランザクションは使ってます。 一応複数SQL流すので保険として。 話はちょっとそれますが、サンプルプログラムでコネクションをグローバル 変数に保持して、それを最後まで使い続けるプログラムを見たことがありま す。最後にユーザーがLogoutしてくれればpg_close出来ますが、いきなり ブラウザをばっさり終了されてしまうと出来ないですよね。 コネクションにあんまり神経質になんなくても良いのですかね。 同時接続50-100ぐらいを想定しているもので...ちょっと心配なのでした。
263 名前:名無しさん@お腹いっぱい。 mailto:sage [02/02/12 21:51 ID:???] >>260 公式本とかいうやつか? postgresql.jpのだろ。
264 名前:名無しさん@お腹いっぱい。 mailto:sage [02/02/18 21:01 ID:???] とりあえず、PEARのDBクラス使いませんか?>ALL コネクション云々を考える負担が軽減されますよ。
265 名前:名無しさん@お腹いっぱい。 mailto:sage [02/02/18 23:58 ID:???] >264 pearてわからんちん・・・( ´Д⊂ヽ ウエーン
266 名前:(=゚ω゚)ノ ◆SI2r4V0c mailto:sage [02/02/19 10:36 ID:???] 日本語マヌアルあるよ。
267 名前:(=゚ω゚)ノ ◆SI2r4V0c mailto:sage [02/02/19 10:38 ID:???] pear.php.net/manual/ja/index.php
268 名前:名無しさん@お腹いっぱい。 mailto:sage [02/02/19 10:44 ID:???] >>262 www.php.net/manual/ja/features.persistent-connections.php らしいです。 あんまり神経質にならなくてもいいみたいです。
269 名前:名無しさん@お腹いっぱい。 mailto:sage [02/02/19 16:40 ID:???] Postgreからtimestamp型のフィールドを取り出すとき、 日付の末尾に+9という値(GMT?)が付くんですが、これを取り外すには どのようにすればいいんでしょうか。
270 名前:名無しさん@お腹いっぱい。 mailto:sage [02/02/19 16:59 ID:???] >266 マヌエルて助っ人野球選手がいたよね昔。 (◕ฺ∀◕ฺ)
271 名前:marois [02/02/19 23:38 ID:SCYCQAYn] >>268 情報ありがとうございます。 大変参考になりました。 話が変わるのですが、皆さんは文字コードに何をつかっておられますか? 結構文字化けに悩まされています。(PHP3i18でも) 私の場合、EUCでソースを書いて、EUCでDBに格納しているのですが、ブラウザが Shift-JISと間違って判断してしまう場合があるようです。 <meta .htaccess と色々試してみたけど、駄目なときがある。 Shift-JISでソース、Shift-JISでDB格納していらっしゃる方はいらっしゃいま すか? どんな組み合わせが文字化けしにくいんでしょうか?
272 名前:名無しさん@お腹いっぱい。 mailto:sage [02/02/20 00:07 ID:???] >270 情報ありがとうございます。 大変参考になりました。
273 名前:名無しさん@お腹いっぱい。 mailto:sage [02/02/20 11:00 ID:???] >>271 理屈上は、EUC-JPオンリーな運用をすれば化けないはず。 でもそれは現実的な話では無いからなぁ…
274 名前:名無しさん@お腹いっぱい。 [02/02/24 05:50 ID:IIwngioo] php+postgreでwebアプリ構築してるんですが、 ログイン画面でユーザが入力したID、パスワードを照会するとき、 IDでSELECT ID, PASSWD ... みたいに引っ張ってきて、 そのPASSWDとPOSTに入ったパスワードをmd5で照会する、 この方法って無意味ですか?(セキュリティ上の観点で)
275 名前:274 mailto:sage [02/02/24 05:52 ID:???] >>274 事故レス。情報不足してました。 DBには裸の状態でパスが入ってます。
276 名前:名無しさん@お腹いっぱい。 [02/02/24 06:50 ID:gC0AF2pI] >>274 無意味。 DB内のパスワード見られたらクラックされる為。 ハッシュ化(MD5、DES)したパスワードを格納する。 質問の内容からして効率悪そうな開発をしているっぽいので、 crypt関数と、mod_auth_pgsql について調べることをおすすめ する。
277 名前:274 [02/02/24 13:30 ID:IIwngioo] >>276 早速調べて入れてみました。 で、今さらなんですが、パスワードはphp以外の箇所(言語)でも使うため 仕様変更が難しいようです。 まあごく限られたネットワーク内での使用を考えてるので(外には出さない)、 それほどセキュアなシステムで無くても良いんですが、DBを暗号化せず セキュリティを高める方法ってないでしょうか(SSL以外)。
278 名前:名無しさん@お腹いっぱい。 [02/02/24 18:08 ID:L35l4mFf] >>277 DBを暗号化というか、DB格納パスワードをハッシュ化。 > セキュリティを高める方法ってないでしょうか(SSL以外)。 無い。
279 名前:名無しさん@お腹いっぱい。 [02/02/24 19:44 ID:1vBdeyQk] でも crypt かけちゃったら、ユーザーがパスワード忘れた ときとか、どうやって元のパスワードを教えて上げるの? パスワード設定し直すっていう方法が現実的かも知れないけど。
280 名前:名無しさん@お腹いっぱい。 [02/02/24 20:43 ID:L35l4mFf] > どうやって元のパスワードを教えて上げるの? 当然、教えてあげない。 > パスワード設定し直すっていう方法が現実的かも知れないけど。 そうする。基本だよね?
281 名前:名無しさん@お腹いっぱい。 [02/02/26 00:31 ID:EFcQI2qb] >>273 PHP3-i18nでもPHP4.0.6以降でも、出力だけSJISってのができるから、それが一番 問題起きないんじゃない? 出力がEUC-JPだと文字化けするブラウザは結構あるし。 PHP,DB内部はEUC-JPで、HTTP入出力はSJISでずっとやってますが、大きな問題は おきてないな。
282 名前:名無しさん@お腹いっぱい。 [02/02/26 01:58 ID:myAGwwd4] しつもーーん www.jlb.dyn.to/hsinstall/salsemng/ こんな感じで、みんなも、定期的に、バキュームしてる? 自分は、したことないぞーばきゅーむなんて。
283 名前:名無しさん@お腹いっぱい。 [02/02/26 02:19 ID:R0qwrTOR] 野球ヲタワラタ ime.nu/www.baseball-lover.com
284 名前:名無しさん@お腹いっぱい。 [02/02/26 02:24 ID:c48zylad] 質問です。 interval型を使って年-日-時でデータを管理しているのですが、 365日で1年への繰り上がりを期待したら、 どうやら360日で繰り上がってます。 繰り上がり日数の指定ってできないのでしょうか?
285 名前:名無しさん@お腹いっぱい。 [02/02/26 15:19 ID:ws1pgQhy] >>281 MIMEヘッダーに文字コードをつければ化けない。 HTMLファイルにも、httpd.conf や .htaccess に AddType を 加える事で可能。
286 名前: [02/03/24 17:12 ID:S817rdf9] 現在、PHP+PostgreSQLで小規模なDBシステムを開発していますが、 教えていただきたいことがあります。 それは、このシステムで出力されるデータをPDFファイルにしたいのですが、 これを実現するためには、PHPをインストールする際にpdflibを使用する旨の オプションを指定する必要があることは知っています。 ただ、現在はインストールした後ですので、後でpdflibを追加することは 可能ですか?厨房なので、詳しい方法を教えてくれませんか?よろしくお願いします。
287 名前:nobodyさん [02/03/25 01:50 ID:hKhhq3k3] >>286 コンパイル時に組み込むものだから、後からは無理だと思われ。 リコンパイルする手間はそんなに無いと思うので、やり直しをおすすめ。 > 厨房なので DBシステム開発自体を辞めておけ。
288 名前:nobodyさん mailto:age [02/07/31 14:56 ID:???] PHP4.2.2セキュリティー対応上げ 皆さん入れ替えましたか?
289 名前:nobodyさん mailto:sage [02/07/31 16:33 ID:???] ( ´,_ゝ`)プッ freehome.kakiko.com/tuk/iiyo.html
290 名前:nobodyさん [02/09/01 20:10 ID:h2ERcGeK] 何でこのスレッド書き込みが無いの? とりあえずあげ。
291 名前:b [02/09/01 20:21 ID:hC+cV5mq] www.jsweb.sexheroes.com/index.html
292 名前:お役立ちサイトです。 [02/09/01 23:25 ID:eeJda9o6] 究極の総合リンク集 home9.highway.ne.jp/cym10262/
293 名前:ノンノン [02/09/28 21:30 ID:Mv9w8xYv] TIMESTAMP型の日時をPHPで表示する方法が良く分かりましぇんです。 $sql = "select to_char(nichiji, 'YYYY/MM/DD') from テーブル名"; $result = pg_exec($sql); で、良いと思うのですが、 Warning: PostgreSQL query failed: ERROR: No such function 'to_char' with the specified attributes っていうエラーが出ます。 これって、to_charが使えないってことですか? 仮に to_char が使えない場合、どうやればいいのでしょうか? どなたかご教授願います。
294 名前:nobodyさん [02/09/28 21:38 ID:B9guHGNW] 整形してから引っぱり出すんじゃなくて 引っぱり出してから整形してください
295 名前:hmk mailto:sage [02/09/28 21:39 ID:???] よーわからんが、nichijiは本当にtimestamp型になっているのかぇ?
296 名前:ノンノン [02/09/28 21:59 ID:Mv9w8xYv] > よーわからんが、nichijiは本当にtimestamp型になっているのかぇ? それは間違いないです。ハイ。 > 整形してから引っぱり出すんじゃなくて > 引っぱり出してから整形してください あいたたぁ。そういうやり方がありましたね。(なんて私は頭がカタイのか) とすると、取り出したものが $nichiji に入ってるとすると local($nichiji); なんてものを使えば良いのでしょうか?
297 名前:294 じゃないよ mailto:sage [02/09/28 22:17 ID:???] 「引っぱり出してから整形して」というのはたとえば、 EXTRACT(YEAR FROM nichiji) AS nchj_y, ... みたいに SQL を書くという意味ではないかな。ちょっ と手間は増えるけど、漏れはいつもこうしてる。
298 名前:ノンノン [02/09/29 13:23 ID:lz5l3CdA] なるほど、YEAR,MONTH,DAY というように取り出したいデータごとに 実行するということですね。 で、試してみました。 ・・・結果はだめでした。 なので、簡単に select extract(YEAR from TIMESTAMP '2002-09-29') としてやってみました。 ・・・、これもダメでした。PHP を使ってもコマンドラインからも 結果は同じです。どちらも、こういうエラーが出ます。 ERROR: Function 'date_part(text, timestamp)' does not exist Unable to identify a function which satisfies the given argument types You will have to retype your query using explicit typecasts 何が原因なんでしょうか? PostgreSQLのバージョン? ちなみにそのバージョンは、6.5.3 です。
299 名前:297 mailto:sage [02/09/29 13:49 ID:???] >>298 7.0.2 なら select extract(YEAR from TIMESTAMP '2002-09-29') は OK だね。6.5.3 だとダメ。 6.5.3 なら、 select extract(YEAR from DATETIME '2002-09-29') で OK だけど、DATETIME は標準じゃないし、最近は Postgres でも推奨されていないと思う。
300 名前:ノンノン [02/09/29 14:05 ID:lz5l3CdA] やっぱりそうですか。 ということは、to_char でエラーが出るのもパージョンのせいですね。 レンタルサーバなのでどうにもできません。 フィールドのタイプを変えるしかないないですね。 原因が分かっただけでも良かったです。 みなさん、ありがとうございました。 また、何かあれば願いしますね。
301 名前:297 mailto:sage [02/09/29 14:17 ID:???] >>300 date_part 関数使えば、フィールドの型は変えなくて済むと 思われ。でも標準(略
302 名前:やりたいのに mailto:sage [02/10/02 19:31 ID:???] 思い立ってから既に一週間。 PHP+PostgreSQLの勉強をしようと頑張ってますが入り口にすら立てません・・・。 とりあえず簡単なWebアプリケーションを作成しようとしてます。 <Webサーバ環境> Win2KServer + PHP4.2.3 + Cygwin + PostgreSQL7.2.2(Cygwinと共にインストール) pg_connect() を使うと Warning: pg_connect() unable to connect to PostgreSQL server: could not create socket: 要求したプロトコルと互換性がないアドレスを使用しました。 (0x0000273F) が発生して接続ができません。 使い方はどこにでもサンプルで書いてあるような $con = pg_connect("dbname=testdb"); という形なんですが・・・これは PHP の設定なのか PostgreSQL の設定なのか はたまた Cygwin の設定なのか Windows の設定なのか 検討がつきません。 3日悩んだあげく、ODBC経由ならどうよ?と試したらあっさり成功。 # pg_databaseからテーブル一覧取得表示 pg_ほにゃほにゃ系の関数を使う為には何をどう設定すればいいのかひたすら調査中です。 どなたか「おい、ここチェックしたのか」とか思い当たる事項があれば 突っ込んで下さると非常に喜びます(涙)
303 名前:nobodyさん mailto:sage [02/10/03 06:22 ID:???] Apache,PHP4,PostgreSQL7でWEB鯖構築するやり方載ってる本あったからそれでも見れば。onLinuxだったけど。
304 名前:nobodyさん mailto:sage [02/10/03 06:33 ID:???] Windows上でやったことないのでアレだけど、 WindowsってUNIXドメインソケット使えないよね? としたら、PHP<->PostgreSQLの接続はTCP/IP使わなきゃいけないはずなので、 pg_connect("host=localhost dbname=testdb"); みたいにして、あとは PostgreSQL の pg_hba.conf で localhost からの接続の認証してやればいけそうな気がするが。
305 名前:nobodyさん mailto:sage [02/10/03 06:34 ID:???] つーか、エラーメッセージ見れ。 pg_connect()したときにエラーメッセージ出るだろ。
306 名前:nobodyさん mailto:sage [02/10/03 06:38 ID:???] スマソ。俺がカキコ見てなかった…。欝だ氏のう…。
307 名前:やりたいのに mailto:sage [02/10/03 11:24 ID:???] お返事多謝です。非常に喜んでます♪ >>303 その環境で構築する本は一応見てみましたが、どーも・・・。 Cygwin上に更にApache入れる?それともWin用のApache入れるのかなぁとか 昨日ふと思ったりしましたが・・・IISでPHPもPostgreSQLも両方動くのに 意味なさ過ぎだなぁ・・・とか(苦笑) >>304 > としたら、PHP<->PostgreSQLの接続はTCP/IP使わなきゃいけないはずなので、 ですよね。 これに関してですが、わからないなりに調べた結果、以下の点は留意しました。 ・Postmaster起動時に-iオプションを付ける。ポートも指定してみる。 => pg_ctl -w -o "-i -D /usr/share/postgresql/data -p 5432" start ・pg_hba.confの設定をチェック =>以下の設定になっていた。これで問題なし?? local all trust host all 127.0.0.1 255.255.255.255 trust ・postgreSQL側でも接続を有効にしてみる。 =>postgresql.confで以下のように設定 tcpic socket = true port = 5432 > pg_connect("host=localhost dbname=testdb"); なるほど、ローカルホストだぜ!って明示的に指定するわけですね。 早速やってみます!ありがとうございました。
308 名前:nobodyさん mailto:age [02/10/03 19:35 ID:???] 大助かりage
309 名前:nobodyさん [02/10/03 22:37 ID:yBxgrv2T] >>282 バキュームしれ。 7.2.1使って12万レコード/日くらいのトランザクションがあるけど、 結構ディスク占有率がふくれる(溜めるだけではないため)。 数万レコードでも更新が多いならお薦めだ > 使っているdata/base #ちなみに vacuum full 実行10分ちょい > 漏れの仕事環境 vacuume or vacuume full は頼りになるぞ。 そんな漏れん家のサーバは1回/半年で十分だ。数秒で終わる(w
310 名前:307 [02/10/04 14:40 ID:qOvfKv6+] 結果報告〜。 つながりました!Apacheは入れなくてもよかったです。 これまでCygwinを手動で起動して、その上でipc-daemonをサービス起動して 次にpg_ctlでPostmasterを起動して・・・とやってたんですが cygrunsrvというコマンドでPostmasterもサービス登録する手順をみつけ やってみたところ、突然つながりました! 接続は以下のように行いました。ユーザも何もかも指定しました(笑) $con = pg_connect("dbname=testdb host=localhost user=test_user password=test_user"); Postmasterの登録に使用したコマンドは以下のものです(本当は1行です) $ cygrunsrv --install PostgreSQL --path /usr/bin/postmaster --args "-D /usr/share/postgresql/data -i" --dep ipc-daemon --termsig INT --user postgres --shutdown これで、試験サーバを起動してから一々ipc-daemon+Postmasterを手動で 起動する手間もかかりませんし、いい感じです。 ただ・・・Postmasterのみ再起動する方法がわからないんですよね。 pg_hba.confとかその辺を更新した後、サーバごと再起動しないと駄目という 実に非現実的な環境になってしまいました(爆) でもまぁ、大きく一歩前進です。多分何か方法があるんでしょうし 設定とかあるのかもしれません。調べていくことにします。 多謝多謝、多謝です〜!
311 名前:nobodyさん [02/10/06 21:27 ID:Y+aKD2A2] すっごい初歩的な質問ぽいですが…かきこします。 xreaでPostgreSQLつかってるんですが $hst = "localhost"; $db = "ユーザID"; $us = "ユーザID"; $pass = "パスワード"; $conn = pg_connect("host=$hst dbname=$db user=$us password=$pass") or die("接続エラー"); ってやると Warning: pg_connect() unable to connect to PostgreSQL server: PQconnectPoll() -- connect() failed: Connection refused Is the postmaster running (with -i) at 'localhost' and accepting connections on TCP/IP port 5432? っていわれちゃうんだけど、解決方法わからないですか? 自分のパソコン上でやるとできるのですががが。
312 名前:nobodyさん [02/10/07 01:33 ID:hvZZAVT1] >311 まんまやん! -i と一緒に走らせろよ。 pg_ctl stop pg_ctl start -o "-i" だな
313 名前:312 [02/10/07 01:37 ID:hvZZAVT1] 追加 DBが別サーバなら pg_hba.conf の一番下辺りの trust あたりを見る。 んで、適時追加する(アクセスするサーバへの許可)。 ↑の起動オプションの追加やconfの変更が出来ないんならわからん!
314 名前:nobodyさん [02/10/07 08:25 ID:tYSAfVj4] つーか、ApacheとPostgreSQLが同じマシンで走ってるなら、 ふつーはUNIXドメインソケットで接続するんちゃうやろか。 -i オプションつけずに動かして。 なので、「host=$hst」つーのはいらないのでは?
315 名前:312 [02/10/08 00:18 ID:OGtZEEu6] >>314 つ〜か、「自分のパソコン上でやるとできるのですががが。」だそ? 隣のパソコンにつなごうとしてうまくいかないのでは? と思うぞ...ふつ〜は。 っで、隣のパソコンから己(311)のIPがipfwとかipchainsとかから deny|dropされていない事は確かだろうな?(w IPだけじゃなくportも... そんなんされてたら、どうにもできんが(www
316 名前:312 [02/10/08 00:19 ID:OGtZEEu6] をぉ! 隣のパソコン≠localhost ぢゃないか!!(w 逝ってくる...
317 名前:nobodyさん [02/10/09 01:18 ID:LBei1JgW] 質問です。 PHPから、postgresへデータを書き込む時は、どうしたらよいのでしょうか? 今、POSTされたデータを使って、 こんな感じの関数を使って、文字をEUCにして、DBに入れてます でも、うまくいかないんです......動くんだけど 特定の文字の時、 ここから----------------- ――――――――――――――――――――――――――――――――0-5/10― ★GAME -------------ここまで を入れると、0移行がきれてしまって、DBに入るんです... 0移行もいれたい!でも、うまくいかない... なぜ? Function beauty($sSQL) { //文字をEUCにして綺麗にして $sSQL=trim(mb_convert_encoding($sSQL,"EUC","SJIS")); $sSQL=mb_convert_kana($sSQL); //改行キーを綺麗にして $sSQL=str_replace("\r\n", "\n",$sSQL); $sSQL=str_replace("\r", "\n",$sSQL); $sSQL=ereg_replace("^(\n)+|(\n)+$","",$sSQL); //スラッシュを綺麗にして $sSQL=addslashes(stripslashes(stripslashes($sSQL))); //実行 return $sSQL; }
318 名前:nobodyさん [02/10/09 02:48 ID:uMeBQ3Ig] カラムの型なんでしょう?
319 名前:nobodyさん mailto:sage [02/10/09 07:54 ID:???] つーか、なぜ $sSQL を加工する度に echo して調べないのかと小一時間(略
320 名前:nobodyさん mailto:sage [02/10/16 17:38 ID:???] Apache 1.3.22 + PHP 4.2.3 + PostgreSQL 7.2.1 で、 phpPgAdmin 2.4.2 を動かそうとしたんですが、フォーム入力で なぜか先頭の4文字分が消えてしまってSQLクエリが組み立てられず エラーになってしまいます。 PHPは --enable-mbstring --enable-mbstr-enc-trans --enable-mbregex で configure してあり、通常のPHPでのフォーム入力 受け渡しでは問題ないのですが、phpPgAdminのPHPスクリプトが 何か特殊なことをしているのでしょうか?
321 名前:質問ageです [02/10/22 10:45 ID:38ZRylkG] WEB データベースでは 1ページ毎に $db = DB::connect(); $res = $db->query(); $db->disconnect(); とするのが普通なのでしょうか? DB オブジェクト $db をグローバル変数として 他のページでアクセスする方法はあるのでしょうか。
322 名前:nobodyさん mailto:sage [02/10/22 10:47 ID:???] > とするのが普通なのでしょうか? 普通。けど、ココはPHPのスレ。
323 名前:nobodyさん mailto:sage [02/10/22 11:08 ID:???] >>322 ええ。PHPスレと知ってて質問しています。 PHP-4.2.2 を使用してます。 PHPでグローバル変数は扱えるのかな? と思って質問しました。 現在、最初に postgres の user、password を入力させて それを各ページに POST して使い回して connect しているんですが みなさん、このようにして使っているのでしょうか。
324 名前:nobodyさん [02/10/22 12:38 ID:4eylDja6] >>323 session利用して保持すれば?
325 名前:nobodyさん mailto:sage [02/10/22 15:18 ID:???] pgpconnect?
326 名前:321 mailto:sage [02/10/22 16:15 ID:???] >>324 そうですね。 各ページで connect を行う場合はそうします。 ただ、DBオブジェクト(今回は Class のオブジェクト)を グローバル化出来れば便利(早い) だと感じたのですが、 皆さんそのようには作られてないようで... 何か、問題あるのかな? もうちょっと、色々勉強してみます。
327 名前:nobodyさん mailto:sage [02/10/22 16:43 ID:???] >>321 >>325 が自信なさげにつぶやいてるけど www.php.net/manual/ja/features.persistent-connections.php じゃ駄目なのかと?
328 名前:321 mailto:sage [02/10/22 17:21 ID:???] >>327 ごめんです。 別に無視していた訳ではないです。>>325 さん。 今 Class と PEAR を使って色々勉強中でして、 「こんな風に出来ないものか?」と試行錯誤してます。 pg_pconnect は DB::connect( $dsn, TRUE ) で実現 出来るようです。 色々試してみたいと思います。
329 名前:nobodyさん [02/10/22 20:50 ID:bCdHvFBv] >>326 DBへの接続で、パーシステントな香具師が居たかと... 「永続的接続」だっけか? ただし、トランザクションエラーでcommitもrollbackもやってなくて ロック状態に陥る罠。 つ〜か、↑は、デバッグ時にはまった場合の話ね。 きれいになったコードでは問題ないはずだよ。
330 名前:教えて君 mailto:I'mBeginner [02/10/30 20:04 ID:???] 上の永続的とかは関係なくて、 最初にconnectしてから "begin"を宣言しておいた後、 放置してPHP終了した場合って、 "commit"しなかったんだから"rollback"しなくても良いんですよね? pg_closeは省略できるらしいし。 どうなの?
331 名前:330 mailto:I'mBeginner [02/10/30 20:05 ID:???] 要するに"rollback"も省略できるかってことです。
332 名前:nobodyさん [02/10/30 20:11 ID:CX80yU9D] どこが2重カキコなんじゃボケェ! 2重カキコじゃないってば!!>ERRORさん rollbackは今までの作業を捨ててその後で新しく作業するのに使うんですよね? 取消で終了するなら言わなくてもいいっすよね?
333 名前:330 [02/10/30 20:12 ID:CX80yU9D] >>332 俺です(鬱)
334 名前:330 [02/10/30 20:20 ID:CX80yU9D] php.lamphost.net/manual/ja/print/ref.pgsql.php > BEGINで始まり、 そのトランザクションが有効な場合はCOMMITまたは ENDで終わります。 > トランザクションが失敗した場合、 そのトランザクションはROLLBACKまたは ABORTにより閉じる必要があります。 > ラージオブジェクトリソースを閉じる前に接続リソースを閉じないように して下さい。 エラーでこけたらどうなるんすか?
335 名前:329 [02/10/30 21:02 ID:6KbHJvYg] >334さんへ そのつもりで漏れも >ただし、トランザクションエラーでcommitもrollbackもやってなくて >ロック状態に陥る罠。 つ〜て書いてやった訳なんだが、 「早い」事だけを求めてトランザクションのなんたるかを 全く判っていない >>330 には、無駄だったんだと改めてわかったよ。 「永続的接続(パーシステント・コネクト)」と「トランザクション」の共存くらい 勉強&理解して欲しいよなぁ... Oracleだろうが、DB2だろうが、MySQLだろうが、PostgeSQLだろうが、 何れは陥る罠だぞ。 漏れは無視していいが、「永続的接続」と「トランザクション処理」を もう一度根っこから調べてくれ(;´Д`) >> 330 頼む!
336 名前:山崎渉 mailto:(^^)sage [03/01/15 13:47 ID:???] (^^)
337 名前:nobodyさん [03/01/18 03:13 ID:bdZI9lM1] RedHat8.0を入れました。 PHPとPostgreSQLの接続がうまくいきません。 PHPの動作確認はOKでした。 PostgreSQLの方もcreateuserで作成したuserにてpsqlを行えます。 どこかのHPを参考にしてnobodyのユーザーを作り テスト用のphpをたたくと Warning: pg_connect() unable to connect to PostgreSQL server: FATAL 1: IDENT authentication failed for user "ifuku" in /home/test/public_html/test.php on line 14 といったメッセージがでます。 php.iniかpg_hba.confの設定をしないといけないのかな?と思いましたが、 なにか参考になる話を聞かせてくれませんか?
338 名前:337 [03/01/18 03:15 ID:bdZI9lM1] エラーメッセージのうち user の箇所は nobody でやったりと 他のuserを使ったりはしています。
339 名前:nobodyさん mailto:sage [03/01/18 03:35 ID:???] >>337 pg_hba.confだろ。
340 名前:337 mailto:sage [03/01/18 03:49 ID:???] >>339 そうですか 調べてみます。 ありがとうございました。
341 名前:nobodyさん mailto:sage [03/02/26 18:10 ID:???] どうしても2カラムで1キーになるテーブルが多いのですが、 a 102 b 2003 aとbでキー そういう場合は c 1002-2003 というカラムを作った方がいいですか?
342 名前:nobodyさん [03/02/28 12:52 ID:Gr9BwE/o] >>351 勉強し直してきてください
343 名前:nobodyさん [03/02/28 19:20 ID:qSGW/gfl] ☆^〜^★【新着情報追加】 sagatoku.fc2web.com/ あなたの探し物こちらで見つかります
344 名前:nobodyさん [03/03/07 14:00 ID:ZFWCWq3y] PostgreSQL 7.2.3からPostgreSQL7.3.2に変更したところ、 lo_unlinkを使用する箇所でエラーと言われました。 もちろん使用しなければエラーと言われません。 動作的に使用しなくても問題はないように思えます。 同じ症状になった人居ますか? 「環境」 Red Hat Linux 7.2 PostgreSQL7.3.2 php-4.2.3 apache_1.3.27
345 名前:山崎渉 mailto:(^^) [03/03/13 17:07 ID:???] (^^)
346 名前:nobodyさん [03/03/17 18:15 ID:RRSo0s2u] 新しく更新されたデータから10件のデータをテーブルから 引っ張ってくる場合、 SELECT * FROM テーブル名 LIMIT 10 OFFSET (最終行数 - 10) になると思うんすけど、この最終行数ってどうやって求めるのか? $sql = "SELECT * FROM テーブル名"; $db = pg_exec($sql); $maxnum = pg_numrows($db); で、いの? いや、ダメだろうなぁ。なんかもったいないし?
347 名前:nobodyさん [03/03/17 18:57 ID:UoxJY4S2] >>346 昇順になってるカラムはないの。 あればそのカラムで逆順にソートして最初の10行を取得する。
348 名前:nobodyさん [03/03/17 19:34 ID:RRSo0s2u] >昇順になってるカラムはないの。 あります。 >あればそのカラムで逆順にソートして最初の10行を取得する。 なるほどぉ。。。。と言いつつ良くわかってない初心者です。 ORDER BYっての使うのか?。 要はページに最新のデータから10件ずつ表示させていくヤツが 作りたいのです。
349 名前:346/348 [03/03/17 20:14 ID:RRSo0s2u] 出来ますた。 SELECT * FROM テーブル名 ORDER BY (昇順カラム) DESC LIMIT 10 OFFSET 0 ですね。サンクスです。
350 名前:346 [03/03/18 12:18 ID:frl1VUIP] でも、テーブルの総行数を調べたい事ってあると思うんだけど そん時は莫大なメモリを食いそうな(あくまで漏れの稚拙なイ メージなんだけど) $sql = "SELECT * FROM テーブル名"; $db = pg_exec($sql); $maxnum = pg_numrows($db); なんて事をせにゃならんのだろうか? あと、JOINってどんな時に使うの?
351 名前:nobodyさん mailto:sage [03/03/18 12:30 ID:???] >>350 count() 使え。 SQL の基礎について解説した本か、シーラカンス本買った方が良いよ。
352 名前:346 [03/03/18 14:44 ID:frl1VUIP] >>351 サンクスでし。 SELECT COUNT(カラム名) FROM テーブル名 でしね。できますた。 シーラカンス本もマンモス本も持ってます。しかし、まだ敷居が 高すぎます。COUNTについて書いてあるのなんて1ページのほんの 少しでし。 JOINわかんねぇ。つまりテーブルを結合しる・・・と。 ブツブツ・・・。