- ベストアンサー
関数mysql_connectについて
ブラウザからmysqlに接続したいのですが、このようなエラーが出てしまい接続できません。 Fatal error: Call to undefined function mysql_connect() in C:\Apache Group\Apache2\htdocs\kan.php on line 9 9行目 mysql_connect(localhost,root,password); そもそもこのlocalhostとはなんなのでしょうか? 分かる方がいたらお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>PHP(2.0.52) と書かれていますが、きっとこれはApacheのバージョンでしょう。 今なら、PHPは4.3系列か、5系列だとおもいます。 勉強を始めて間もないようですので、アドバイスを。 まず、インストールについては、1冊の本に従うほうが最初はよいとおもいます。 それぞれのソフトウェアについて、多少でも知識がついたとか、基本的に問題なく動いた段階から、カスタマイズしていくのがよいとおもいます。 でないと、インストール時点からあちこち散ってしまったり、カスタマイズしていると、どこに問題があって動かないのかがわからなくなってしまいますので。 個別に勉強する必要はもちろんあるのですが、まず、それぞれのソフトウェアがどういう関係なのかなど体系が分からないと、連携部分でつまずいてしまいます。 そのため、まずは1冊の本を参考にそれぞれのソフトウェアをインストールし、設定してみたほうがよいかもしれません。 PHPでデータベースを扱う場合、今回はMySQLですが、その専用の関数はPHP本体に内蔵されていません。 そこでモジュールといういわばオプションなものを使用することになります。 MySQL用のモジュールが、php_mysql.dllというものになります。 これを使用しますよってことをPHPの設定ファイルで宣言してあげないと、PHPは使わないから読み込まないって動作をしてしまいます。 ただ、PHPのバージョンによって、設置場所が異なったり、最初から付属していなかったりします。 お使いのPHPのバージョンがわからないので、詳しくはなんともいえませんが、php_mysql.dllというファイルがあるか探してみてください。 もしあればよいのですが、なければphp_mysql.dllでgoogleで検索すると情報がでてきますので、ご自身のPHPのバージョンにあった方法で入手してください。 その後、PHP.iniファイルでextension=php_mysql.dllをコメントから復帰させてください。 その後、apacheを再起動します。 なお、これらの手順はPHPのバージョンによって異なる場合がありますので、ご注意ください。
その他の回答 (1)
- kalze
- ベストアンサー率47% (522/1092)
エラーの意味が分かった上での質問なんでしょうか? エラー内容は、「定義されていないmysql_connectという関数が呼ばれています(使われています)」です。 環境はWindows+Apache2+PHP(バージョン不明)+MySQL(バージョン不明)のようですが、php_mysql.dllは入っていて、ロードするようになっていますか? PHPソースはどこからかDLしてきたものでしょうか? localhostとは、通常は自ホストのことです。 (つまりマシン的に自分自分にはいっているMySQLに接続すると書いてある)
補足
回答ありがとうございます。 定義されていない関数が呼ばれているということは、バージョンによる違いなのですかね?php_mysql.dllとかは意味が分からないです・・すみません。 実は、PHP(2.0.52)とmysql(4.0.21)の方を違う参考書で勉強し、 違うMYSQLの参考書で実践しています。初期設定でなにかしら合わないと言う事でしたら、 1回、mysqlとアパッチなどは、1回アンインストール して、新しい本を参考に、最初から設定したほうがいいのですかね?1回エラーが出てしまうと太刀打ちできなくなってしまう。そこがけっこうきついです。
お礼
PHPのバージョンは5.0.2.2だと思います。 なんか、PHP5の場合初期設定の状態ではmysqlに接続できないみたいで、extension=php_mysql.dllのコメントをはずして少しいじったら、表示されるようになりました。本当にありがとうございました。