ローカルサーバーにてPostgresを入れて使っています。
今まではSSHで入ってクエリーを
INSERT INTO ~~
といった感じで追加しておりました。
これをWebの画面上から行いたいと思っております。
PHPとPerlが少々出来る程度のスキルしかないですが
この作業をWEB上から行うに当たって何か
簡単なサンプルスクリプトみたいなものを紹介していただけないでしょうか。
http://www.phpbook.jp/database/postgresql/index7.html
URLの真ん中のpgtest5.php以下あたりが参考になるかと。
INSERT、SELECTの例が入っていて、簡単なサンプルだと
思います。
こちらも非常に参考になります。
ありがとうございます。
phpならば名前が pg_ から始まる専用関数が用意されていますので非常に楽です。
基本的手順は
(1)PostgreSQLへの接続
pg_connect — PostgreSQL 接続をオープンする
pg_pconnect — 持続的な PostgreSQL 接続をオープンする
最初のうちはpg_connectを使う場面が多いでしょう。
(2)クエリの発行
pg_query — クエリを実行する
pg_select — レコードを選択する
pg_delete — レコードを削除する
pg_update — テーブルを更新する
pg_insert — テーブルに配列を挿入する
pg_send_query — 非同期クエリを送信する
select、delete、insert、updateを使わずに全てpg_queryにてSQLを発行しても構いません。
pg_insertはphp内の配列に入っている情報を直接投げられるので便利ですがマニュアルにも実験的と書かれていますので積極的な利用は控えておいたほうが無難です。
非同期クエリは複数の作業を平行処理したい場合に使います。
(3)結果セットの受け取り
pg_num_fields — フィールド数を返す
pg_num_rows — 行数を返す
pg_fetch_all_columns — 指定したカラムの全ての行を配列として取得する
pg_fetch_all — 取得されたすべての行を配列として取得する
pg_fetch_array — 行を配列として取得する
pg_fetch_assoc — 行を連想配列として取得する
pg_fetch_result — 結果リソースから値を返す
pg_fetch_row — 数値添字の配列として行を得る
pg_get_result — 非同期クエリの結果を取得する
フィールド数と行数を数えて、その分だけループ処理するといった使い方が基本的な流れ。
(4)メモリを開放し、データベース接続を閉じる
pg_free_result — メモリを開放する
pg_close — PostgreSQL 接続をクローズする
メモリはスクリプト終了時に自動的に開放されるので通常はpg_closeだけを使用する。
その他にも幾つかの関数がありますのでphpマニュアルを参照してみてください。
(それぞれの関数毎にコードのサンプルがあり、それぞれを見比べていけば上記のような流れになっている事を確認できるはずです)
こんなに長々と書いていただきありがとうございます。
非常にわかりやすくこちらのものを元に試したら
うまいこといきました。
ありがとうございます。
ありがとうございます。
こんな便利なモノがあるんですね。
早速試してみます。