Postgrsql8.1.9+PHP5.1.6+apacge2のインストールと接続方法

このQ&Aのポイント
  • Postgrsql8.1.9+PHP5.1.6+apacge2のインストールと接続方法について説明します。
  • Postgrsql8.1.9+PHP5.1.6+apacge2をインストールし、WEBでデーターベースに接続する方法について詳しく解説します。
  • Postgrsql8.1.9+PHP5.1.6+apacge2のインストールと設定を行い、WEB画面にデータベースの内容を表示させる方法について解説します。
回答を見る
  • ベストアンサー

Postgrsql8.1.9+PHP5.1.6+apacge2

すみませんLINUXの初心者です Postgrsql8.1.9+PHP5.1.6+apacge2をインストールしています OSはSentOS5です とりあえずPHPで書いたものをWEBでデーターベースに接続してみて 問題あればエラーが出ると思っていたのですが WEBの画面には何も表示されない状態になってしまいます。 <?php // データベースに接続 $con = pg_connect("dbname=template1 user=postgres password=000"); // クエリの実行 $rs = pg_query($con, "select * from tester"); // 結果セットの行数を取得 $maxrows = pg_num_rows($rs); for ($i = 0; $i < $maxrows; $i++) { $row = pg_fetch_row($rs, $i); echo("$row[0] | $row[1]<br>\n"); } // データベースの接続終了 pg_close($con); ?> HTMLで書いた物はWEB画面には出てくるのですが・・・ とりあえずインストールされてるものを 書いてみました。 postgresql-libs-8.1.4-1.1 postgresql-server-8.1.9-1.el5 postgresql-8.1.9-1.el5 httpd-2.2.3-7.el5.centos php-common-5.1.6-15.el5 php-mbstring-5.1.6-15.el5 php-cli-5.1.6-15.el5 何かが足りないのかconfigの編集が悪いのかまったく わからない状態です PHP・apacheは vi /var/www/html/test.php <?php phpinfo(); ?> を書き込んでWEBを開くとphpinfoのページは開きます。 Postgresqlは単独でテーブルの登録はできます。 解決に必要な情報が要る場合は言っていただければ・・・ ただ初心者なのでコマンドを教えてもらえると助かります すみませんがよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kalze
  • ベストアンサー率47% (522/1092)
回答No.1

php.iniの display_errors = error_reporting = の値はどのようになっていますか? display_errors = On になっていない場合、エラーは表示されません。 また、error_reportingで表示する区分が希望通りに設定されていないと、希望するエラーが表示されません。 /var/log/apache2/error.log とか /var/log/httpd/error.log とかapacheのエラーログに問題が起きていればエラーが記録されていると思いますので、そちらを見てみても良いでしょう。 で、PHPのpostgresql用のモジュールが入っていないようなので、pg_で始まる関数が利用できないエラーが発生しているのではないかとおもいます。 <?php phpinfo(); ?> で表示されるページにPostgreSQLの項目があるかどうか確認してください。 もしないようであれば、以下のコマンドを発行してPostgreSQL用のモジュールをインストールしてください。 #yum -y install php-pgsql #/sbin/service httpd restart

myfax8
質問者

お礼

ありがとうございました。 無事エラーメッセージが出るようになりました。 今別な事でつまずいているのでそのときまたお願いします

その他の回答 (1)

  • tomy06
  • ベストアンサー率25% (58/224)
回答No.2

php-cliが入っているのなら、Linuxのコマンドライン上で # php test.php と打ってみましょう 何も出なければDBへのアクセスがうまく行ってないし 何か出てくれば、文字コードの問題だと思います

関連するQ&A

  • 次の掲示板PHPにアクセスすると

    <?php echo "<form method=\"post\" action=\"{$_SERVER['PHP_SELF']}\">"; echo "本文:<input type=\"text\" size=\"80\" name=\"contents\">"; echo "<input type=\"submit\" value=\"送信\">"; echo "</form>"; $con=pg_connect("dbname=gomidb user=gomiuser host=127.0.0.1"); $contents=$_POST['contents']; if ($contents) { $contents=pg_escape_string(htmlspecialchars($contents)); pg_query($con,"insert into gomibbs(contents) values('$contents')"); } $rs=pg_query($con,"select * from gomibbs"); while($row=pg_fetch_array($rs)) { print $row['no'].":".$row['contents']."<br>"; } pg_close($con); ?> エラーになります ところが pg_query($con,"insert into gomibbs(contents) values('$contents')"); の所を pg_query($con,"insert into gomibbs(no,contents) values(1,'$contents')"); とすれば一度だけOKです どうすれば良いでしょうか?

    • ベストアンサー
    • PHP
  • postgreSQL + PHPの連携

    現在postgreSQLとPHPを使い、 勉強を兼ねスクリプトを組んでいます。 が、早速つまづいてしまいました。。 [ID][名前][年齢]の3つのカラムがあります。 そこからIDが「10」の行を取得したいのですが、 どのように書けばよいのでしょうか? $sql = "SELECT * FROM TAB where(ID = 10)"; $rs = pg_query($cn, $sql); $row = pg_fetch_array($rs); echo "$row[ID]、$row[名前]、$row[年齢]"; 願わくば、と上のように書いたのですが、 「、、」と表示されるだけで…。 ご教示、お願いいたします。

    • ベストアンサー
    • PHP
  • 訂正版 次のPHPにアクセス

    するとエラーになります ただしあらかじめgomidbで以下をしてます create table gomibbs(no serial primary key,contents text); grant all on gomibbs to gomiuser; <?php echo "<form method=\"post\" action=\"{$_SERVER['PHP_SELF']}\">"; echo "本文:<input type=\"text\" size=\"80\" name=\"contents\">"; echo "<input type=\"submit\" value=\"送信\">"; echo "</form>"; $con=pg_connect("dbname=gomidb user=gomiuser host=127.0.0.1"); $contents=$_POST['contents']; if($contents) { $contents=pg_escape_string(htmlspecialchars($contents)); pg_query($con,"insert into gomibbs(contents) values('$contents')"); } $rs=pg_query($con,"select * from gomibbs"); while($row=pg_fetch_array($rs)) { print $row['no'].":".$row['contents']."<br>"; } pg_close($con); ?> エラーになります ところが pg_query($con,"insert into gomibbs(contents) values('$contents')"); の所を pg_query($con,"insert into gomibbs(no,contents) values(1,'$contents')"); とすれば一度だけOKです どうすれば良いでしょうか?

    • ベストアンサー
    • PHP
  • PHPとPostgreSQLとの連携

    今、WindowsXPでPHPとPostgreSQLを連携 させたいのですがなかなか上手く行きません。 どなたか、分かる方がいれば宜しくお願いします。 環境 OS→Windows HomeEdition Apache→Apache HTTP Serber2.0.59 PHP→PHP4.4.4 PostgreSQL→PostgreSQL8.1.4 です。 PostgreSQLの中にtest_dbというデータベースをつくり setuzoku.phpから接続できるかどうかのif文を作り確認 していますが、何度やっても接続失敗と出ます。 <?php $con = pg_connect("user='postgres' dbname='test_db' password='grjtf'"); if (! $con) { print "接続失敗"; } else { print "接続成功"; } ?>

  • PHPとPostgreSQL接続 (スキーマ)

    いつもお世話になっております。 現在、PHP(5.3.1)とPostgreSQL(9.2)で開発をしております。 エラーが発生しており大変困っております。 こちらが発生するエラーです。 Warning: pg_exec() [function.pg-exec]: Query failed: ERROR: schema スキーマが見つからないとのことです。 そして、以下がコードとなります。 <?php // PostgreSQL Connect if (!($cn = pg_connect("host=*** port=*** user=*** password=*** dbname=***"))) { die; } // PostgreSQL Select $sql = "select * from t_test.na1"; if (!($rs = pg_exec($sql))) { die; } // PostgreSQL Get Records $ct = pg_numrows($rs); for ($i = 0; $i < $ct; $i++) { $item = pg_fetch_array($rs, $i); $txt = "${item[1]}"; } // PostgreSQL Disconnect pg_close($cn); ?> 現在のデータベースのスキーマについてですが「na1」と「public」の2つが存在しています。 試しに、na1とpublicのテーブルをまったく同じにして SQLの部分を「select * from t_test」に変更すると「public」側のテーブルが覗けます。 しかし、SQLの部分を「select * from t_test.na1」に変更すると「スキーマが見つかりません」 というエラーが発生してしまいます。 スキーマがあるにもかかわらずこのエラーがでてしまうため原因が分からず困っております。 もしお分かりになる方いらっしゃいましたら、教えていただければと思います。 何卒よろしくお願いします。

    • ベストアンサー
    • PHP
  • pg_queryの結果を2回とりだすことは無理?

    $rs=pg_query($con,"select * from gomibbs"); while($row=pg_fetch_array($rs)) { print "{$row['no']}:{$row['contents']}<br>"; } において もう一度$rsの結果を取りだすにはどうしたいいのでしょうか?

    • ベストアンサー
    • PHP
  • XPにPHP5とPostgreSQL8を入れて

    コマンドラインで create table tbl_ken(i_ken int4,ken text); insert into tbl_ken values(1,'北海道'); ・・・・・・・・・・・・・ ・・・・・・・・・・・・・ insert into tbl_ken values(47,'沖縄'); としテーブルを作っておき <?php $x='北海道'; $con=pg_connect(・・・・・・); $rs=pg_query($con,'select * from ken where ken="'.$x.'" order by i_ken'; ?> とすると文字化けしているようでpg_queryの部分でエラーになります どうしたら文字化けしないようにできるでしょうか?

    • ベストアンサー
    • PHP
  • pg_prepareが使用できない(Undefined function

    お世話になります。 現在PHPとPostgreSQLでアプリケーションを作成しております。 データベースのセキュリティのために、pg_prepare関数を使い たいのですが、以下のようなエラーが出てしまいます。 Fatal error: Call to undefined function pg_prepare() in ... 該当ソースコードとバージョンは以下のとおりです。 ///ソース $con = pg_connect("user = $DBUSER password = $DBPASSWORD dbname = $DBNAME"); $rst1 = pg_prepare($con, "query", 'SELECT * FROM test WHERE name = $1'); $con = pg_close($con); ///バージョン Apache 2.0.59 PHP 5.1.6 PostgreSQL 8.1.4 何か原因で考えられることはあるでしょうか。 pg_escape_stringもまったく同じエラーが起きてしまい頭を抱えています。お手数かけますがよろしくお願いします。

    • ベストアンサー
    • PHP
  • php修正について

    下記のPHPの'y_name'の並びをあ~昇順で表示したいのですが どこを追加修正すればよいか教えてください。 <?php require_once('../../Connections/harada_drag_store.php'); ?> <?php $currentPage = $_SERVER["PHP_SELF"]; $maxRows_rs_kusuri = 20; $pageNum_rs_kusuri = 0; if (isset($_GET['pageNum_rs_kusuri'])) { $pageNum_rs_kusuri = $_GET['pageNum_rs_kusuri']; } $startRow_rs_kusuri = $pageNum_rs_kusuri * $maxRows_rs_kusuri; mysql_select_db($database_harada_drag_store, $harada_drag_store); $query_rs_kusuri = "SELECT * FROM kusuri ORDER BY id DESC"; $query_limit_rs_kusuri = sprintf("%s LIMIT %d, %d", $query_rs_kusuri, $startRow_rs_kusuri, $maxRows_rs_kusuri); $rs_kusuri = mysql_query($query_limit_rs_kusuri, $harada_drag_store) or die(mysql_error()); $row_rs_kusuri = mysql_fetch_assoc($rs_kusuri); if (isset($_GET['totalRows_rs_kusuri'])) { $totalRows_rs_kusuri = $_GET['totalRows_rs_kusuri']; } else { $all_rs_kusuri = mysql_query($query_rs_kusuri); $totalRows_rs_kusuri = mysql_num_rows($all_rs_kusuri); } $totalPages_rs_kusuri = ceil($totalRows_rs_kusuri/$maxRows_rs_kusuri)-1; $queryString_rs_kusuri = ""; if (!empty($_SERVER['QUERY_STRING'])) { $params = explode("&", $_SERVER['QUERY_STRING']); $newParams = array(); foreach ($params as $param) { if (stristr($param, "pageNum_rs_kusuri") == false && stristr($param, "totalRows_rs_kusuri") == false) { array_push($newParams, $param); } } if (count($newParams) != 0) { $queryString_rs_kusuri = "&" . htmlentities(implode("&", $newParams)); } } $queryString_rs_kusuri = sprintf("&totalRows_rs_kusuri=%d%s", $totalRows_rs_kusuri, $queryString_rs_kusuri); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> <title>お薬情報【全リスト】</title> </head> <body bgcolor="#006699" text="#333333" link="#0000CC" vlink="#0000CC" alink="#FF0000"> <table border="0" align="center" cellpadding="1" cellspacing="2"> <tr bgcolor="#CC6600"> <td height="25" colspan="10"><div align="center"><strong><font color="#FFFFFF" size="3">お薬情報 ≪リスト≫</font></strong></div></td> </tr> <tr> <td colspan="10"><div align="center"><font color="#CCCCCC" size="2">登録ID順(降順)で表示しています。</font></div></td> </tr> <?php do { ?> <tr bgcolor="#FFCC99"> <td><div align="right"><font size="2"><a href="kusuri_details.php?id=<?php echo $row_rs_kusuri['id']; ?>&pageNum_rs_kusuri=<?php echo ($pageNum_rs_kusuri); ?>"> <?php echo $row_rs_kusuri['id']; ?> </a></font></div></td> <td align="center"><font size="2"><?php echo $row_rs_kusuri['date']; ?></font></td> <td align="center"><font size="2"> <?php $value = $row_rs_kusuri['view']; switch ($value) { case "00": echo "×"; break; case "01": echo "○"; break; default: echo "-"; break; } ?> </font></td> <td align="center"><font size="2"><?php echo $row_rs_kusuri['date_open']; ?></font></td> <td align="center"><font size="2"><?php echo $row_rs_kusuri['date_close']; ?></font></td> <td align="center"><font size="2"><?php echo $row_rs_kusuri['name']; ?></font></td> <td align="center"><font size="2"><?php echo $row_rs_kusuri['y_name']; ?></font></td> <td align="center"><font size="2"><?php echo $row_rs_kusuri['y_seibun_name']; ?></font></td> <td align="center"><font size="2"><?php echo $row_rs_kusuri['y_meker']; ?></font></td> <td><font size="2"><?php echo $row_rs_kusuri['y_konou']; ?></font></td> </tr> <?php } while ($row_rs_kusuri = mysql_fetch_assoc($rs_kusuri)); ?> </table> <br> <</table> </body> </html> <?php mysql_free_result($rs_kusuri); ?>

    • ベストアンサー
    • PHP
  • phpのmysql_fetch_arrayに該当する関数はありますか?

    以下のようなphp、MySQLのセレクト文は perlだとどのようになるのでしょうか? $sql="SELECT abc,xyz FROM table "; $res=mysql_query($sql,$con) or die("データベースを検索できませんでした。 mysql_error(); "); $i=0; while($row=mysql_fetch_array($res)) { $abc[$i]=$row['abc']; $xyz[$i]=$row['xyz']; $i++; }

    • ベストアンサー
    • Perl