• 締切済み

エラーの意味をお教え願います。

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;      | **************************

  • PHP
  • 回答数1
  • ありがとう数3

みんなの回答

  • GOTTi
  • ベストアンサー率25% (2/8)
回答No.1

回答ではありませんが、そちらの PHP のバージョンはいくつをお使いでしょうか? 私の手元には、「PostgreSQL完全攻略ガイド」の改訂第3版がありますが、これに記載されている PHP のサンプルは、PHP3 向けですから、おそらくご質問されているスクリプトも PHP3 向けであると思われます。 しかし、PHP 4.0.2 以降では connect という関数が追加されていますから、お使いの環境の PHP のバージョンが 4.0.2 以降ということなら、単純にエラーのとおり「関数名が重複している」ことになりますが・・・。

jincyan
質問者

お礼

仰る通りです。 もう解決していたのですが、connectが悪いなら別の関数名にしたらどうだろうと思い変えてみるとそこは動きました。 でも、そのサンプルが正常に動いては居ません。まったく、勉強しようと思って本を購入してるのに悩ませてどうすんだろ??(笑)

関連するQ&A

  • PHP+MySQL mysql_connectのエラー

    PHP初心者なのですが、 PHPを使用して外部ホストのMySQLデータベースから データを取り出すプログラムを開発しています。 mysql_connect関数でデータベースに接続する段階で 内部エラーとなってしまいます。 プログラムは以下のようなものです。 $url = "000.000.00.00";//外部ホストのアドレスです $user = "username"; $pass = "password"; $db = "databasename"; $link = mysql_connect($url,$user,$pass) or die("MySQLへの接続に失敗しました。"); ホストアドレスやユーザー名、パスワードは 以前VisualBasic+ODBC+MySQLでデータを読み込んでいたときに 使用していたものなので、間違いはないと思います。 非常に初歩的な質問で申し訳ありませんが、 非常に困っております。 ご助言よろしくお願いします。

    • 締切済み
    • PHP
  • phpとpostgreの接続にエラー解決方法について

    始めまして、PHPの勉強始まったばかりのものです。以下のエラーを解決するにはどうすればよいでしょうか? Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: FATAL: database "touroku" does not exist in /home/k0410user/public_html/111/inc/include/init.inc on line 2 Warning: pg_query(): supplied argument is not a valid PostgreSQL link resource in /home/k0410user/public_html/111/inc/include/init.inc on line 6 Warning: pg_num_rows(): supplied argument is not a valid PostgreSQL result resource in /home/k0410user/public_html/111/inc/include/init.inc on line 8 Warning: pg_close(): supplied argument is not a valid PostgreSQL link resource in /home/k0410user/public_html/111/inc/include/init.inc on line 13

    • 締切済み
    • PHP
  • Parse errorなんですが・・・

    Parse error: syntax error, unexpected '&' in C:\Program Files\Apache Group\Apache2\htdocs\php10\dbtest1.php on line 2 というエラーがでます。 ホスト名、ユーザー名、パスワードはあっていると思うんですが・・・ というかホスト名とはなんのことでしょうか?? ユーザー名、パスワードはデータベースでの設定ですよね? <?php &con=mysql_connect("localhost","sample","password") or die("接続できません。"); print"接続に成功しました。"; mysql_close(&con); ?> 本当に初心者ですみません ご教授、お願いいたします。

    • ベストアンサー
    • PHP
  • PHPのODBC関数

    PHPのODBC関数でデータベースに接続したいのですが、 下記のエラーが発生します。PHPのモジュール追加が必要なのでしょうか? またそれはどのようなものでしょうか?よろしくお願いします。 Fatal error: Call to unsupported or undefined function odbc_connect()

  • mysqlにうまく接続できません

    PHP、Mysql初心者です。 何かWEBページの作品を作ろうと、データベースを使ってます。 ごくごく定番のPHPからデータベースの内容を書き出すことをしているのですが、 Fatal error: Call to undefined function mysql_connect() in C:\Program Files\Apache Group\Apache2\htdocs\renshu\ken.php on line 10 というエラーコードが出ました。私のテキストエディタでの9~11行目はこちらです。ちなみにApache2とMysql5です。 <?php mysql_connect('localhost','root','パスワード'); mysql_select_db('データベース名'); 参考書通りにやっていまして、タイプミスはないはずなんですが…。ホスト名やユーザ名もあっているはずです。 どなたか教えてください。よろしくお願いいたします。

  • HPの説明通りにするとエラー

    http://php1st.com/435/  にある説明config.inc.phpファイルですが、 $cfg['Servers'][$i]['auth_type'] = 'config'; $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = '12345'; ---------------------------------------------- にすると 以下のエラーが出ます。 ^^^^^^^^^^ phpMyAdmin へようこそ エラー MySQL のメッセージ: ドキュメント #1045 - Access denied for user 'root'@'localhost' (using password: YES) MySQL サーバに接続しようとしましたが拒否されました。config.inc.php のホスト、ユーザ名、パスワードが MySQL サーバの管理者から与えられた情報と一致するか確認してください。 それで ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ $cfg['Servers'][$i]['auth_type'] = 'cookie'; $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = '12345';  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  にすると、  phpMyAdmin phpMyAdmin へようこそ 言語 - Language ログインドキュメント ユーザ名:root パスワード:・・・・・ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ それで  http://php1st.com/435/  にある説明では  $cfg['Servers'][$i]['auth_type'] = 'config';  にしなさいとあります。 しかし、私の場合は、この質問の冒頭にでた同じエラーが出たので、 $cfg['Servers'][$i]['auth_type'] = 'cookie';  としたら、  ちゃんとログイン画面が出るうになりました。  なぜでしょうか!?  宜しくお願いします。 

    • ベストアンサー
    • MySQL
  • PHPlib インストールエラー

    どなたか、ヘルプお願いします。 PHPlib(PHPlib-7.4-pre2)をインストールするべく、設定を終え、動作確認(login & password画面で)したところ、以下のようなエラーメッセージで行き詰まっているところです。 Warning: pg_connect(): Unable to connect to PostgreSQL server: could not connect to server: Connection refused Is the server running on host localhost and accepting TCP/IP connections on port 5432? in /usr/local/apache/phplib-7.4-pre2/php/db_pgsql.inc on line 51 Database error: connect() failed. PostgreSQL Error: 0 () Session halted. 設定の際、設定の書き込みをしたのは、  ・local.inc の $Database、$Userの設定  ・prepend.php で db_pgsql.inc の指定 のみです。 ネットでこのエラーを調べたところ「pg_hba.conf」や「postgresql.conf」に関係するエラーのようですが、PHPlibを利用するにあたり、何か設定しなければならないのでしょうか? また、エラーが表示されている「db_pgsql.inc」にも何か設定が必要なのでしょうか? ちなみに、自作PHPファイルから該当データベースへの接続には成功しています。 [環境]FreeBSD、Apache1.3、PHP4.3、PosgreSQL7.4

    • 締切済み
    • PHP
  • 「PEAR::Auth認証」の結果による判別について

    現在、PEAR::Authを利用して認証処理を作成しております。 質問させていただきたい内容は、 AuthクラスのgetAuthメソッドについてです。 まず、Authクラスのインスタンスを生成し、 start()メソッドを実行して認証を行い、 その認証の結果をgetAuthメソッドによって 取得しております。 次に、getAuthメソッドにより得た結果を IF文で判別して、結果がTRUEの場合は処理を続行し、 結果がFALSEの場合はログイン画面に戻るように 制御しようとしたところ、 FALSEの場合の制御が思うように動作しませんでした。 以下に、ソースを記述いたします。 login_check.php ************************************************* <?php require_once("Auth/Auth.php"); $params = array( "dsn" => "pgsql://postgres:postgres@win/db", "table" => "test_table", "usernamecol" => "test_user", "passwordcol" => "test_passwd", "cryptType" => "none", ); // インスタンス生成 $auth = new Auth("DB", $params , "LoginFuntion"); // 認証開始 $auth->start(); // 結果を判別 if (!$auth->getAuth()) { // 結果がFALSEだったらログイン画面に戻る header("Location: ./login.php"); exit; } else { // 結果がTRUEであれば処理を続行 ・ ・ ・ } ?> $auth->getAuth()の使い方が違うのかも知れませんが、 Authのソースを見ても分かりませんでした。 どなたか、「PEAR::Auth認証」の結果による判別に ついてお教え下さい。。。 ※今回は、ログイン画面とチェックPHPを分けております。 ログイン画面はHTMLで、チェックPHPにAuthを利用しております。 この利用の仕方が既に間違っているのでしょうか? 併せてお教えいただければと思います。

    • 締切済み
    • PHP
  • CakePHPの数字のフォーマットでエラーになる

    CakePHP 1.3.14使用しています。 データベースから取得した本の値段を金額表示にしたいので、$number->formatを使用しましたが、「Fatal error: Call to a member function format()」という、エラーが出てしまい困っています。 以下の通りViewに書きましたが、どこか間違っている部分はありますか? <?php echo $number->format($data['Book']['price'],array( 'before'=>'&yen;', 'places'=>'0', 'thousands'=>',', 'escape'=>false )); ?> また、$number->formatを使用するときには、何か宣言が必要なのでしょうか? ご回答よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPでのMySQL接続エラーについて

    PHPを使用してMySQLサーバに接続しようと思うのですが、どうしても "Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'localhost' (10061) in C:\Server\Apache2.2\htdocs\htdocs\connect.php on line 2" と表示されて接続できません。いろいろ試してみたので、情報を列挙いたします。 動作環境 OS:WindowsXP Pro Apache2.2.8 PHP5.2.6 MySQL5.0 1.コマンドプロンプトからはMySQLに正常に入ることが可能です。 2.上記のエラーが出るPHPプログラムは以下の通りです。 "<?php %conn = mysql_connect("localhost", "root", "password"); ?> 3.phpMyAdminを使って接続しようとしても以下のエラーが出ます。 #2003 - サーバが応答しません" 4.セキュリティソフトを終了させて接続しても同様の症状でした。 5.phpinfo()関数は正常に動作し、mysqlやmysqliの情報も表示されます。 以上の内容ですが、よろしくお願いいたします。

    • ベストアンサー
    • MySQL

専門家に質問してみよう