../../image/benilogo.gifPHP4 について


PHP の pg_query関数 について。
pg_query関数

 PostgreSQL クエリーの発行  php マニュアル pg_query

まずは どういうふうに使うのかな?。 Version 古いので、 pg_exec で代用
<html>
<head><title>PHP-Example pg_query01 </title></head>
<body>
<?php

$mySQL = 'SELECT bhn_code,bhn_name FROM bhnmst;';  //SQL SELECT文

$dbconn = @pg_connect("dbname=beniya");            // データベースに接続する
if ($dbconn == false) {                            // 接続の状態を確認する
  print("データベースに接続できませんでした。");
  exit;
}

?>
<H1>php  pg_query( )のテストです。</H1>
<HR>
<PRE>
pg_query の使い方<br>
さて どうしたらいいのでしょうか?<br>
データーベースに接続しました。<br>
<?php

  echo '$dbconn =',"$dbconn  SQL = $mySQL  \n";
  $result = pg_query($dbconn,$mySQL);       //SQLの発行

  echo("\n");
  //直接 $result を覗いてみる。
  echo $result,"\n";
?>

</PRE>

</body>
</html>

   
  まず、最も簡単な方法を試してみる。
  単純に SQL を発行して そのDataSet を得るには。 

   
    
beniya=# select bhn_code,bhn_name from bhnmst;
  bhn_code  |  bhn_name
------------+------------
 0000-0001  | テスト部品
(1 row)

    









ここで Error

Fatal error:  Call to undefined function:  
pg_query() in /pg_query01.php on line 24

で、調べていくうちに わかった!!

php4 ではあるが 今使っているのはVersionが古い 4.1.2 である。
php マニュアル pg_query を見ると 
(PHP 4 >= 4.2.0, PHP 5) なのである。

ならば、古い方法 は pg_exec がある。取りあえずこれでやってみることにする。

  $result = pg_exec($dbconn,$mySQL);       //SQLの発行


Warning: PostgreSQL query failed: ERROR: bhnmst: Permission denied.
あ そういえば まだ permissionを何も設定していなかった!。
             Access privileges for database "beniya"
   Table    |                 Access privileges
------------+----------------------------------------------------
 arry1      |
 bhnmst     | {=,beniya=arwdRxt,www-data=arwd}

  • 一応  SELECT,INSERT,UPDATE,DELETE を許可する。

そうして再び 最初のソースを実行してみる。

<?php

  echo '$dbconn =',"$dbconn  SQL = $mySQL  \n";
  $result = pg_exec($dbconn,$mySQL);       //SQLの発行

  echo("\n");
  //直接 $result を覗いてみる。
  echo $result,"\n";
?>

$dbconn =Resource id #1  SQL = SELECT bhn_code,bhn_name FROM bhnmst;  

Resource id #2

なんのことはない これもリソースとして Resource id #2 としてこんなふうに
ID 番号を持っているだけなんですね。
 

データーを見るには 何が必要なのか?

次はなんだろう?






















2004/12/31start ********* Last Update 2006/11/11 15:37 JST

(C) Y.Kondou,2004,2006 All Rights, Reserved.
その他、お気づきの点がありましたら連絡先はこちらから