PHP + PostgreSQL
■ このスレッドは過去ログ倉庫に格納されています
0001りさあ
NGNG0348nobodyさん
03/03/17 19:34ID:RRSo0s2uあります。
>あればそのカラムで逆順にソートして最初の10行を取得する。
なるほどぉ。。。。と言いつつ良くわかってない初心者です。
ORDER BYっての使うのか?。
要はページに最新のデータから10件ずつ表示させていくヤツが
作りたいのです。
0349346/348
03/03/17 20:14ID:RRSo0s2uSELECT * FROM テーブル名 ORDER BY (昇順カラム) DESC LIMIT 10 OFFSET 0
ですね。サンクスです。
0350346
03/03/18 12:18ID:frl1VUIPそん時は莫大なメモリを食いそうな(あくまで漏れの稚拙なイ
メージなんだけど)
$sql = "SELECT * FROM テーブル名";
$db = pg_exec($sql);
$maxnum = pg_numrows($db);
なんて事をせにゃならんのだろうか?
あと、JOINってどんな時に使うの?
0352346
03/03/18 14:44ID:frl1VUIPサンクスでし。
SELECT COUNT(カラム名) FROM テーブル名
でしね。できますた。
シーラカンス本もマンモス本も持ってます。しかし、まだ敷居が
高すぎます。COUNTについて書いてあるのなんて1ページのほんの
少しでし。
JOINわかんねぇ。つまりテーブルを結合しる・・・と。
ブツブツ・・・。
0353nobodyさん
03/03/18 16:07ID:iRf6zAa00355nobodyさん
03/03/22 15:32ID:???教えて下さい。たのんまっす!
no int, hougaku varchar
テーブル名 hoge
no|hougaku
--|------
10|higasi
20|nisi
30|minami
40|kita
こんなテーブルがあったとします。
$houi = "kita"←仮にテーブルにある文字を設定します。
$sql = "select hougaku from hoge where hougaku = 'houi' ;";
$result = pg_query($sql) ;
if num_rows($result) !=1{
print ("そんな方角はありません。") ;
}
ここまで、$houi に代入された文字がテーブルに有るか無いか分かると思います
もしここで正しく$houiにkitaという文字がセットされたとしたら
noの40という数字が導きたいのだがどうしたらいいかわかりません、
続きのプログラムはどう書いていいのか分かりません、教えて下さい。
0356gn355my0
03/03/22 15:47ID:???じゃダメなん?
0357nobodyさん
03/03/22 15:59ID:jxh1CrBXとりあえず、$が抜けている。
$sql = "select hougaku from hoge where hougaku = '$houi' ;";
で、noも取得するなら、
$sql = "select no,hougaku from hoge where hougaku = '$houi' ;";
あとは、
$result = pg_query($sql) ;
if num_rows($result) !=1{
print ("そんな方角はありません。") ;
}else{
$arr=pg_fetch_array($result);
echo $arr["no"];
となる。
その後、何をやりたいのかわからんので、適当に追加したのだが、
これだけのことなら無駄が多いよ。
0359nobodyさん
03/03/22 16:22ID:???できましたありがとう
0360nobodyさん
03/03/25 22:15ID:8MjhOhZv結果を変数にぶち込みたいんだけど
$結果 = $db->selectrow_array("SQL文");
みたいに1行で片付けたい。
PHPだとどうすればいいんかな?
良くわからんのでとりあえず
$rs = pg_query($con, "SQL文");
$結果 = pg_fetch_result($rs,0,0);
にしてるんだけど何か変な気がするし。
昨日PHPはじめた漏れに誰か教えてクレイ。
0362nobodyさん
03/03/26 18:48ID:+smbNkro1回の起動で1ファイルに1回その値をINSERT INTOで
データベースに流し込んで
それを複数回繰り返しているPHPがあるんだけど
なんかメモリが急に100%になってすまう?
0363nobodyさん
03/03/27 13:31ID:???メモリが100%になるってなんだよ。今まで半分しか使ってなかった
メモリがやっと100%使えるようになったって意味か?よかったな。
で、その100%って何を見て確認したの?
0364362
03/03/28 11:54ID:PjWv+k5dphpsysinfoってPHPなんすけど。見やすいのでコレで確認すてます。
http://phpsysinfo.sourceforge.net/
ひどくなってくるとスワップまで食い尽くしてメモリオーバーになっちゃう。
しょうがないのでリブート(まだローカルのテストなんでいいけど・・)。
なんか違う方法を考えよう。
CSVのデータを大量にDBに追加する時って何でやってますか?。皆様は?
0365362
03/03/28 12:08ID:???でも、COPYだと一度ファイルに落とさなきゃならないかぁ。
ブツブツ独り言でし。sage
0366nobodyさん
03/03/28 15:33ID:???何が問題なんだかよくわからんが、とりあえずLinuxなら
http://www.math.kobe-u.ac.jp/~kodama/tips-free-memory.html
でも見れ。
0367362
03/03/28 16:41ID:???おお、すばらすいページだ。こんなん探してますた。
サンクスでし。
なるほどぉ、LINUXのメモリ管理ってのはこうなってたのか。
勉強になりますた。
0368nobodyさん
03/04/16 18:58ID:0S8YCSoo最近ではPEARとPHPlibはどっちがお勧めでしょう?
気分的には新しいPHP4標準?のPEARがいいような
気がするんだけど、PHPlibの方がなんとなく使い勝手が
よいような気がするんですが・・・。
それと、どちらも詳しいリファレンスが乗ってる書籍とか
あったら教えてください。
0369nobodyさん
03/04/16 21:12ID:RoExleB5「JOINはまだ実装されていません」と言われてがーん
最新版にアップデートしたら、
「datetimeって型はありません」
といわれ、コードをすべて書き直した。
あーめんどくさ
0371368
03/04/17 09:56ID:???PHPlibはここに↓2003年1月13日のバージョンがあるようです。
https://sourceforge.net/projects/phplib/
メンテされてるかは不明・・・。
手元にある「PHP×PostgreSQLで作る最強Webシステム」
(2003年1月9日初版:石井達夫著)の本には、
PEARは発展中のシステムで、ドキュメントもまだまだ整備が必要
(logout(),listUser()・・・などの関数はその存在すら記載されてない)
と書いてあるんです。PHPlibのマニュアルよりは読みやすいですけど。
PHP5がでるかもしれないっていうときに、PHP3の物を使い始めるっていうのも
どうかと思うが、PHPlibの方が当面は使い勝手がよいなら、こっちの選択も
アリかな、、、と迷ってる次第です。。。
それぞれ使ってる方の意見なぞ、きけるとうれしいです。
0372山崎渉
03/04/17 11:57ID:???0373nobodyさん
03/04/17 23:31ID:38lUA/N9何処に落ちてますか。
0374373
03/04/17 23:37ID:???0375佐々木健介
03/04/18 00:19ID:???/_ |
/. \ ̄ ̄ ̄ ̄|
/ / ― ― |
| / - - |
||| (5 > |
| | | ┏━┓| / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| | | | ┃─┃| < こんなサイトを見つけた
|| | | | \ ┃ ┃/ \ 正直、スマンカッタ
| || | |  ̄ \_________
http://freeweb2.kakiko.com/mona/
0376動画直リン
03/04/18 00:26ID:s9K3wIjP0377nobodyさん
03/04/19 16:04ID:???データベースをブラウザから管理出来るようなシステム
をPostgresQL + PHPで作るとしますよね。
従業員の数が多い場合は複数のページに分割して表示
するような形になると思うけど、例えば従業員が82人
いて、1ページに10人ずつ表示するとすると、メイン
ページに[1ページ目][2ページ目]..[9ページ目]みたい
なリンクを表示させます。で、この[9ページ目]までと
いうのを計算するのに普通はどういう処理をするので
しょうか?
自分はわざわざ
$sql = "SELECT * FROM hoge;
$rec = pg_query($conn,$sql);
$line = pg_num_rows($rec);
としてるんですが、なんだか非効率な気がします。。
0378nobodyさん
03/04/19 16:17ID:???0379nobodyさん
03/04/19 16:48ID:???各ページを表示させるときはそうなんですけど、全件数が分からないと
各ページへのリンクを表示させるところでどう処理すればいいのかな
と思ったんです。
0380gn355my0
03/04/19 17:58ID:???0381名無しさん@Emacs
03/04/19 19:09ID:???100件表示するページなら、LIMIT 101とする。
100件(以下)が返ってきたら次のページは無い。
101件返ってきたら次のページに続く。
当然、表示するのは100件までよ。
0382名無しさん@Emacs
03/04/19 19:10ID:???カウンタを別に持つ方が無難。更新の少ないシステムならね。
0383nobodyさん
03/04/19 22:19ID:3QKaD4h90384山崎渉
03/04/20 05:58ID:???( ^^ )< ぬるぽ(^^)
0385nobodyさん
03/04/20 07:17ID:JR0rvjcu大勢住んでいらっしゃるようですね。
スレ違いかもしれませんが、PHP+PostgreSQLのシステム
なので質問させてください。
100画面程度の業務WEBアプリを作ろうとしています。
私がDBと画面仕様を書いて業者2人にPHPで
コーディングを担当してもらう予定です。
そこで質問ですが、WEBアプリの画面設計仕様書には、
どんな項目を書くべきでしょうか?
画面に表示する項目はもちろんですが、POSTやGETで渡される
パラメータ、デザイナに引き渡すテンプレート変数、画面間で
引き渡すセッション変数、それらをアンレジストするタイミング、
などなど、どのように仕様書にまとめたらいいのでしょう?
0386名無しさん@Emacs
03/04/20 12:54ID:???それから、カウントするために
SELECT * FROM hoge;
すると、すべてのカラムが返されてくるので非効率的(ネットワーク的にも)。
数を数えるなら、どこかひとつのカラムだけにするか、
SELECT COUNT(*) FROM hoge;
として、バックエンドに数えさせるべき。
0387nobodyさん
03/04/20 15:04ID:???レスサンクスです。とりあえずその方法に変更しておきました。
>>382
の方法ってのは、カウンタ用のテーブルを作成しておいて
他のテーブルが更新された時にそのカウンタを更新するよう
にトリガを仕込むってことですよね?更新頻度が多いと>>386
のほうが効率よいですか?
0388nobodyさん
03/04/20 15:34ID:???自己レスですけどUPDATEは頻繁に行われるがINSERTと
DELETEはあまりないので、トリガ仕込んでみようと
思います。
0389nobodyさん
03/04/20 23:37ID:xyBrUgxrいまのところ、Cygwinをインストールし、Postgresql・cygipcを解凍した
とこまでしかできません。そのあとの設定がうまくいかず困っています。
usr/local/src/postgresql-7.3の
./configureコマンド入力後、
checking build system type... i686-pc-cygwin
checking host system type... i686-pc-cygwin
checking which template to use... win
checking whether to build with 64-bit integer date/time support... no
checking whether to build with recode support... no
checking whether NLS is wanted... no
checking for default port number... 5432
checking for default soft limit on number of connections... 32
checking for gcc... no
checking for cc... no
configure: error: no acceptable C compiler found in $PATH
と表示されます。ここからがわかりません。
どうか教えてください。
0390_
03/04/20 23:38ID:???http://web2001.kakiko.com/koma/hankaku/hankaku07.html
http://www.web2001.kakiko.com/koma/hankaku/hankaku08.html
http://web2001.kakiko.com/koma/hankaku/hankaku10.html
http://www.web2001.kakiko.com/koma/hankaku/hankaku09.html
http://web2001.kakiko.com/koma/hankaku/hankaku06.html
http://www.web2001.kakiko.com/koma/hankaku/hankaku05.html
http://web2001.kakiko.com/koma/hankaku/hankaku01.html
http://www.web2001.kakiko.com/koma/hankaku/hankaku02.html
http://web2001.kakiko.com/koma/hankaku/hankaku03.html
http://www.web2001.kakiko.com/koma/hankaku/hankaku04.html
0391nobodyさん
03/04/20 23:48ID:???エラーの内容が分かんないようだと、Win nativeなヤツを使うほうがいいかと。
0392nobodyさん
03/04/23 10:59ID:???今 employee1,employee2 というテーブルがあります。
次に counter というテーブルを作成して、そこに
employee1,employee2という列を定義し、ここに全件数
をカウントした数字を入力したいと思ってます。
CREATE FUNCTION count_table(text) RETURNS integer AS '
DECLARE
counters integer;
BEGIN
counters := SELECT COUNT(*) FROM $1;
UPDATE counter SET $1 = counters;
return counter;
END;
' LANGUAGE 'plpgsql';
というふうに関数を定義して、select count_table('employee1')
を実行すると
ERROR: parser: parse error at or near "SELECT" at character 9
と怒られます。どう修正したらよいでしょうか?
0393ななし
03/04/23 19:12ID:???SELECT INTO
0395nobodyさん
03/04/24 10:45ID:???id text,
name text);
CREATE TABLE temp_counter(
temp integer);
CREATE FUNCTION temp_counter() RETURNS OPAQUE AS '
DECLARE
counters integer;
BEGIN
SELECT INTO counters COUNT(*) FROM TG_ARGV[0];
UPDATE temp_counter SET TG_ARGV[0] = counters;
END;
' LANGUAGE 'plpgsql';
CREATE TRIGGER temp_trigger
AFTER INSERT OR DELETE
ON temp
FOR EACH ROW
EXECUTE PROCEDURE temp_counter('temp');
INSERT INTO temp VALUES ('hoge','moga');
とすると
WARNING: Error occurred while executing PL/pgSQL function temp_counter
WARNING: line 4 at select into variables
ERROR: parser: parse error at or near "$1" at character 24
というエラーが出てしまうんですが。。なんでですか?
質問ばっかですみません。
0396しろ
03/04/24 17:40ID:???TG_RELNAMEはname型だけどね。
それと気になるのがtempというテーブル名。
何がやりたいのかよくわからないが、tempは一時テーブルの名前なんだけど
わかってますか?セッションが終わると自動的に削除されちゃうけどいいの?
マニュアル読んだほうがいいよ?ここ↓
http://www.postgresql.jp/document/pg721doc/index.html
functionはここ↓
http://www.postgresql.jp/document/pg721doc/programmer/plpgsql.html
結構判りやすいと思うんだけど・・・。
0397しろ
03/04/24 17:41ID:???0398nobodyさん
03/04/24 20:13ID:???マニュアルは一通り目を通しました。あとtempというテーブル名
は例にあげただけで実際は違う名前です。まぎらわしくてすみま
せん。関数の部分を下記のように変更しました。
SELECT INTO counters COUNT(*) FROM TG_RELNAME;
UPDATE temp_counter SET TG_RELNAME = counters;
でもやはり insert するときに
WARNING: Error occurred while executing PL/pgSQL function temp_counter
WARNING: line 4 at select into variables
ERROR: parser: parse error at or near "$1" at character 24
というエラーが出てしまいます。そもそも"$1"なんて使ってない
んですが。。
0399しろ
03/04/25 11:17ID:???> あとtempというテーブル名は例にあげただけで実際は違う名前です。
> まぎらわしくてすみません。
という事は、name,とかidとかいったフィールド名も使ってないわけですか?
ホントに紛らわしいです・・・。
> マニュアルは一通り目を通しました。
・・・
> そもそも"$1"なんて使ってないんですが。。
もう一度じっくり読んだほうがいいと思います。
$1については下記に書いてあります↓
http://www.postgresql.jp/document/pg721doc/programmer/plpgsql-declarations.html
要するにトリガで指定している引数の部分を指してると思います。
トリガファンクションについても、もう一度よく読んだほうが良いです。
RETURN とか EXECUTE とか。
もう一つ、これは別の方法ですが、SELECT INTO使わなくても、
カウント数はサブクエリを使えば一つのクエリで済むと思います。
例:UPDATE テーブル名 SET 列名 = (SELECT COUNT(*) FROM テーブル名);
では頑張ってください。
0400nobodyさん
03/04/25 22:48ID:???レスどうもです。あと一歩というとこまでなんとかこぎつけました。
CREATE TRIGGER my_trigger
AFTER INSERT OR DELETE
ON my_table
FOR EACH ROW
EXECUTE PROCEDURE my_counter();
CREATE FUNCTION my_counter() RETURNS OPAQUE AS '
BEGIN
UPDATE my_counter_table SET my_table = (SELECT COUNT(*) FROM my_table);
RETURN NULL;
END;
' LANGUAGE 'plpgsql';
とすることで成功しました。
で、本当にやりたいことなんですが
0401nobodyさん
03/04/25 22:56ID:???管理したいのです。たとえば'hoge','moga','2ch'というテーブル
の全件数を管理したい場合、my_counter_tableに'hoge','moga','2ch'
という列を定義して、そこに全件数を記録する感じです。
そのあと各テーブルにトリガを作成して同じ関数を呼び出します。
そのときに関数を
UPDATE my_counter_table SET TG_RELNAME = (SELECT COUNT(*) FROM TG_RELNAME);
のようにすれば1つの関数を定義するだけで済むかなと思った
んです。でも上記のようにするとINSERTを実行する時に
ERROR: parser: parse error at or near "$1" at character 26
というエラーが出てしまうのです。トリガを
EXECUTE PROCEDURE my_counter('hoge');
のように定義して、関数を
UPDATE my_counter_table SET TG_ARGV[0] = (SELECT COUNT(*) FROM TG_ARGV[0]);
としても同じエラーが出ます。こういうふうには使えないの?
0402nobodyさん
03/04/26 00:58ID:???いま環境ないからてきとうだけど、
EXECUTE ''UPDATE my_counter_table SET ''
|| quote_ident(TG_RELNAME)
|| ''=(SELECT COUNT(*) FROM ''
|| quote_ident(TG_RELNAME)
でどうよ。
ttp://www.postgresql.jp/document/pg721doc/programmer/plpgsql-statements.html
23.5.4. 動的問い合わせの実行
も見れ。
0403nobodyさん
03/04/26 12:05ID:???CREATE FUNCTION temp_counter() RETURNS OPAQUE AS '
BEGIN
EXECUTE ''UPDATE my_counter_table SET ''
|| quote_ident(TG_RELNAME)
|| ''=(SELECT COUNT(*) FROM ''
|| quote_ident(TG_RELNAME)''
|| '';
RETURN NULL;
END;
' LANGUAGE 'plpgsql';
こうしてみたんですが
parser: parse error at or near "'
|| '" at character 110
というエラーが出ます。
シングルクォーテーションは '' で表す。
テーブル名や列名は quote_ident 関数に通さないといけない。
ということなので上記の文は
UPDATE my_counter_table SET 'hoge' = (SELECT COUNT(*) FROM 'hoge'
という文字列を実行するってことですよね?
||の意味がよく分からないので、そこに問題がある
気がします。ドキュメントを読んでもダメでした。
||はどういう意味なんですか?
0405402
03/04/27 21:51ID:???最後のほうが微妙にちがうかも?
CREATE FUNCTION temp_counter() RETURNS OPAQUE AS '
BEGIN
EXECUTE ''UPDATE my_counter_table SET ''
|| quote_ident(TG_RELNAME)
|| ''=(SELECT COUNT(*) FROM ''
|| quote_ident(TG_RELNAME)
|| '')'';
RETURN NULL;
END;
' LANGUAGE 'plpgsql';
|| は文字列の結合です。
0407nobodyさん
03/04/29 11:51ID:???PostgreSQLでセッション変数管理したいな
と思ってたんですけど、ここ見たらmysql
の方がいいかなと思ってしまいました。
みなさんはどうしてます?
0408nobodyさん
03/04/29 13:04ID:???対象pgsqlのバージョンが古そうだな。今は稼動しながらvacuumできる。
ま、セッション管理のためだけなら、軽いと言われるMysqlの方がいいかもね。
0409nobodyさん
03/04/29 16:42ID:???今はPostgreSQLだけ導入しててセッション管理は/tmpでしてます。
セッション管理のためだけにmysql導入するの躊躇してましたが
稼働しながらvacuum出来るならちょっと試してみます。レスどうも
です。
0410nobodyさん
03/05/07 16:15ID:o2l25maRレンタルサーバー上で動くPHP+PostgreSQLのプログラムを書く際、
Windows上のEditorは何が便利でしょうか?
その文字コードは、EUCで書いておけば問題無いでしょうか。
秀丸やWZだとソースの読み込み時に一々EUCを選択しないと
いけないのですが、使い方がおかしいでしょうか。
あと、参考書を見ると
mbstring.http_input
mbstring.http_output
の設定等が書いて有りますが、レンタルサーバーを使う場合は
特に気にせずEUCで書いておけば、httpでのやりとりやブラウザ表示
は特に問題は起きないと思えば良いですか?
取りあえず簡単にレンタルサーバーからPHP+Postgreで文字を
書き出して、IEで見たところ正しく表示されてるようでした。
0411しろ
03/05/07 16:30ID:???秀丸とPeggy Proつかってまつ。
> 秀丸やWZだとソースの読み込み時に一々EUCを選択しないと
> いけないのですが、使い方がおかしいでしょうか。
自分もこれ面倒だったんで、以下のようにしました。
PHPファイルの関連付けの設定で
OPENの「アクションを実行するアプリケーション」の箇所に
/fe
を入れてやると、PHPファイルだったらEUCで開くようになります。
ex.C:\Hidemaru\Hidemaru.exe /fe %1
他にももっとマシなやりかたあるかもしれないけど。
0412nobodyさん
03/05/07 17:04ID:???0413410
03/05/07 19:15ID:o2l25maRなるほど、出来ました。
それから、Peggy Proってのを探して使ってみました。
これいいですね。411さんはどっちを使ってますか?
0414nobodyさん
03/05/07 19:34ID:n2ggMpEP/ / | ヽ \
∧ ∧/ / | ヽ ∧\∧
( / ⌒ヽ / | ヽ ( / ⌒ヽ
| | | / | ヽ | | |
∪ / ノ / | ヽ ∪ / ノ
| || ミ / | ヽ / / /
ヽ_)_) ∧/∧ | ∧ヽ∧ 彡 しl_ノ
( / ⌒ヽ | ( / ⌒ヽ
| | | ミ ∧ |∧ 彡 | | |
∪ / ノ ( / ⌒ヽ ∪ / ノ
| || | | | / / /
ヽ_)_) ∪ / ノ しl_ノ
| ||
∪∪
日本ロジテム(一部上場、みずほの融資先)の
子会社せいも素(みずほの融資先)でサービス残業の過労による自殺者が出た。
http://www.samos.co.jp
http://society.2ch.net/test/read.cgi/traf/1046749189/l50
http://tmp.2ch.net/test/read.cgi/company/1046775680/l50
0415しろ
03/05/07 19:44ID:???「どっち」とは??
使っているのは「秀丸とPeggy Pro」です。
秀丸と、Peggy Proは適当に使い分けしてて、大体両方起動してます。
Peggy Proか、Peggyかきいてるなら、使ってるのはPeggy Proです。
Peggy Proはシェアだけど、他の色んな言語に対応してるし、
高機能なので結構重宝してまつ。
0416nobodyさん
03/05/07 19:48ID:JylB+nG2--------●○●別れさせ屋●復讐代行業務●○●----------
●騙された・裏切られた・弄ばれた・逃げられた・捨てられた・
相手に誠意が無い・異性問題・家庭内暴力・不倫疑惑解明・人間関係・金銭トラブル★ http://www.blacklist.jp/i
別離工作・情報収集・トラブル対策・ボディガ―ド・等々!
●真剣にお悩みの方、安心してご相談下さい。解決へ導きます★
□■各種データ・電話番号調査・住民票・戸籍謄本など調査■□
http://www.blacklist.jp/i
【注意】ジャンプしない場合はURLをコピーしてファイルから開いて下さい●○● http://www.blacklist.jp/
--------------------------
◆リンク◆復讐現場密着24時◆ http://www.123456789.jp/
0417413
03/05/07 23:41ID:???Peggy Proが便利そうなんで、PHPソース書きなら秀丸の出番が
無いかなと思ったもので、、、、聞いてみました。
0418nobody
03/05/08 04:11ID:NOzEFrdhですが、Apache+PHPと一緒に利用する際は、Apacheのインストール>Postgre
のインストール>PHPのインストール(configureするときにPostgreを明示)
としますよね。
ApacheがSuexec付きのnobodyで動いています。(--suexec-docroot=/home 付
きでconfigure)
/home/hoge以下をhoge.comで運用する、といった場合Postgreを走らせるユー
ザーをhogeとして
# chown -R hoge /usr/local/pgsql/
して
# /usr/local/pgsql/bin/createuser --createdb --no-adduser nobody
とすればいいのでしょうか?それともPostgreを走らせるユーザーはpostgre等として別に作るべきでしょうか。
apacheのユーザーとPostgreのユーザーの関係がどうもわからないのです。
また、この辺りの基礎が分かってApacheのことも書いてあるお勧めの本がありましたら是非教えて下さい。
0419動画直リン
03/05/08 05:10ID:R/vnapw00420しろ
03/05/08 10:24ID:???Peggy Pro一本でも全然問題ないと思いますよ。好みの問題ですね。
自分は単に秀丸にマクロ入れてるのがあるので
それ使う時だけ秀丸使ったりとかです。
>418
PostgreSQLの管理用のユーザは別に必要。
Windows用だけど
「はじめてのPostgreSQLプログラミング」
判りやすかったです。それとか、
「PHP×PostgreSQLで作る最強Webシステム」
こちらの方が少しレベルが上かも知れませんが
とても参考になりました。
あとは「PHP4徹底攻略」あたりかな。
赤マンモスの方はPDFにもなってる↓
http://www.net-newbie.com/support/
0421418
03/05/09 18:21ID:STzTzCJD早速本屋に逝ってきました。参考になりますね。
また分からないことがあればお世話になるかもしれません。
その時はよろしくです。ありがとうございました。
0422nobodyさん
03/05/11 01:35ID:6HQj9LIx管理していて、普段はメールアドレスの検索が主な操作
な状況です。こんな場合、メールアドレスだけ別テーブル
に保存して検索するのと SELECT mail FROM hoge みたい
に検索するのってどっちが効率いいんですか?
0423nobodyさん
03/05/11 01:36ID:???0425nobodyさん
03/05/11 02:27ID:???ポスグレでも20万件程度までならサクサク動くから
0426nobodyさん
03/05/11 03:59ID:???チューニングってのは考えなくていい
んですかね。やっぱり。
0427nobodyさん
03/05/11 04:14ID:???Accessでどうのこうのといったレベルなら。
小規模でもオンラインゲームのマップ情報とかDBに載せてたりすると
チューニングが肝です。
0428nobodyさん
03/05/12 06:11ID:???みたいなもんがないのかねー
0429nobodyさん
03/05/12 11:45ID:???http://www.hi-ho.ne.jp/tsumiki/
0430nobodyさん
03/05/12 15:41ID:???JDBCからアクセスするアプリをつくってみたんですが、〜とかマルイチなどの
文字が化けてしまうんですよね。。どうにかなりませんか?
ポスグレはShift_JISエンコーディングはサポートしていない??
0432nobodyさん
03/05/15 11:09ID:LGr+4aCVここのページのDB利用実態調査が面白い。
特に、MyとPostへのLOVE度、ワラタ。
0433bloom
03/05/15 11:10ID:fs87NLJj0434nobodyさん
03/05/16 03:28ID:3cK7BkGMこのSQL文を実行すると条件に1つもマッチしない場合エラーになりますよね。
@$rec = pg_query($conn,$sql);
if (!$rec){
exit("そのようなユーザーは存在しません。もう一度確認して下さい。");
}
としても $recがTRUEになってるみたいで上手くエラー処理をしてくれません。
何かよい方法ないでしょうか。
0436nobodyさん
03/05/16 10:24ID:???訳ですね。それで上手くいきました。ありがとう。
0437田中
03/05/16 12:32ID:shMd76bE本当に、すごいです。
http://www.c-gmf.com/h16002.htm
0438山崎渉
03/05/22 02:02ID:???0439山崎渉
03/05/28 17:19ID:???ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
0440nobodyさん
03/06/03 17:33ID:AuMlkjoB$deldata = "IN (" . implode($_POST['del'],",") .")";
PHPlibを使ってPostgreSQLのデータを削除するものを作っています。
以下のような感じに書いて削除はできるのですが
-------------
・・・
$deldata = "IN (" . implode($_POST['del'],",") .")";
$del_query = "DELETE FROM vf_employee WHERE emp_id ".$deldata;
# データ削除
@$del_data_set = $db->query($del_query);
print(pg_affected_rows($del_data_set)); //-->ここ
・・・
-------------
削除した件数1件あっても、 pg_affected_rowsが0になってしまいます。
ちょうど、>435と同じように、件数のチェックをして
エラーチェックをしたいのですが、削除の場合の件数は
取得できないのでしょうか?
何か間違ってるでしょうか。。
0441440
03/06/03 17:34ID:???おかげで
$SQL = "UPDATE table SET seq = '$seq'";
で $seq が空の場合にエラーになるようになってしまいました。
というか他所の会社が作ったシステムのメンテを引き受けたのですが、
恐らく register_globals = on の状態を想定していて、
$seq があってもなくても通るようにと考えたんではないかと思います。
↑のようなパターンが随所にあって、
手動での修正はかなり厳しいものがあります。
何かいい方法はないでしょうか?
0443nobodyさん
03/06/19 00:43ID:???初心者で御免
0444nobodyさん
03/06/24 11:30ID:s+ewonQwデータベースのテーブルデータをフォルダに移したいのですが
select * from テーブル名 into outfile '/usr/home/xxxx/ファイル名'
と言うsql文は普通に使えるはずでしょうか?
どうしてもparse error at or near "into"が出ます。
単純なミスでしょうか。よろしくお願いします。
0445nobodyさん
03/06/24 12:22ID:???http://www.postgresql.org/docs/view.php?version=7.3&idoc=0&file=sql-select.html
0446444
03/06/24 13:02ID:???ひぇ〜、読んではみたのですが、、、よく分かりませんです。
PostgreSQLとMySQLで使えるSQL文は結構違うのでしょうか?
取りあえず私が検索した範囲ではselect * into outfileで使っているのは
MySQLの方でした。
他の方法でも良いのですがテーブルデータをフォルダに書き出すには
どうすれば良いでしょうか?重ねてよろしく。
0447nobodyさん
03/06/24 14:18ID:???ttp://www.postgresql.jp/document/pg732doc/reference/sql-copy.html
0448444
03/06/24 15:00ID:???どこかのQ&Aにもレンタルサーバーでは普通無理と書いて有ったのですが
実際COPYを使ってみると
You must have Postgres superuser privilege・・・
と出てしまいます。
本当に何度もすみませんが、
postgreではselect into outfileは使えない(?)。
COPYはそれなりの権限が無いと使えない。
と言うことでしょうか、、、
■ このスレッドは過去ログ倉庫に格納されています