- 締切済み
エラーの意味をお教え願います。
PHPの初心者なんですが 「PostgreSQL完全攻略ガイド」技術評論社 のPHPサンプルをインストールして動かしたところ Fatal error: Cannot redeclare connect() in /home/jin/www/pgimage-1.2/init.inc on line 15 のエラーがでました。 別にconnect()を再宣言しているわけではないのですが・・・?? init.incの中で関数宣言してそれをコールしているだけにみえるのですが?? line 15はfunction connect() {のところです。 意味が理解できませんのでどういう意味かお教え願えないでしょうか。 ********** main_menu.php ******* <?php /* * pgimage メインメニュー * $Id: main_menu.php3,v 1.4 1999/10/04 10:19:40 t-ishii Exp $ */ include "init.inc"; $con = connect(); // 接続&認証を実行 ?> | ************************** ********* init.inc ********** <?php /* * 初期設定値設定ファイル * $Id: init.inc,v 1.3 1999/10/06 06:24:25 t-ishii Exp $ */ $auth=false; /* PHPによる認証を行なうならtrueをセット */ $persistent=false; /* persistent connectionを使う場合はtrueをセット */ $dbname="test"; /* データベース */ $hostname=""; /* データベースホスト名。デフォルトはUnix domain socket で自ホストに接続 */ /* * データベースへの接続 */ function connect() { global $PHP_AUTH_USER; global $PHP_AUTH_PW; global $auth; | **************************
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- GOTTi
- ベストアンサー率25% (2/8)
回答ではありませんが、そちらの PHP のバージョンはいくつをお使いでしょうか? 私の手元には、「PostgreSQL完全攻略ガイド」の改訂第3版がありますが、これに記載されている PHP のサンプルは、PHP3 向けですから、おそらくご質問されているスクリプトも PHP3 向けであると思われます。 しかし、PHP 4.0.2 以降では connect という関数が追加されていますから、お使いの環境の PHP のバージョンが 4.0.2 以降ということなら、単純にエラーのとおり「関数名が重複している」ことになりますが・・・。
お礼
仰る通りです。 もう解決していたのですが、connectが悪いなら別の関数名にしたらどうだろうと思い変えてみるとそこは動きました。 でも、そのサンプルが正常に動いては居ません。まったく、勉強しようと思って本を購入してるのに悩ませてどうすんだろ??(笑)