• ベストアンサー

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
  • 回答数10
  • ありがとう数15

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

  • ベストアンサー
  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.2

phpinfo()でMySQLの情報は出るでしょうか?

oeilvert
質問者

お礼

お返事ありがとうございます。 phpinfo()でmysqlの情報はでます。 MySQL Support enabled Active Persistent Links 0 Active Links 0 Client API version 5.0.51a Directive Local Value Master Value mysql.allow_persistent On On mysql.connect_timeout 60 60 mysql.default_host no value no value mysql.default_password no value no value mysql.default_port no value no value mysql.default_socket no value no value mysql.default_user no value no value mysql.max_links Unlimited Unlimited mysql.max_persistent Unlimited Unlimited mysql.trace_mode Off Off

その他の回答 (9)

回答No.10

私も同様なエラーで3日間、四苦八苦しております。 解決したようであれば、お手数ですがお教えください。

oeilvert
質問者

お礼

MySQLをアンインストールして、インストール先のフォルダの削除して、インストールしなおしたら直りました。原因はわかりませんが、設定のファイルがアンインストールしても残ったままになっていたのかもしれません。

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.9

「telnet localhost 3306」とやっても応答はありませんか?

  • little-m
  • ベストアンサー率44% (45/102)
回答No.8

以下のサイトに似た事例がありました。 http://www.geocities.jp/nonoyamajp/C32nd/MySQLNotStart/MySQLNotStart.htm

  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.7

php5のマニュアルでは、システム環境変数path にphpをインストールしたディレクトリーを追加する方法が推奨されています。 http://jp.php.net/manual/ja/faq.installation.php#faq.installation.addtopath

参考URL:
http://jp.php.net/manual/ja/faq.installation.php#faq.installation.addtopath
oeilvert
質問者

お礼

お返事ありがとうございます。 環境変数にPHPをインストールフォルダへパスを入れています。パスに間違いがないかも確認したのですが、きちんと入っています。

  • fa-ce
  • ベストアンサー率42% (9/21)
回答No.6

phpフォルダ内のlibmysql.dllをC:\WINDOWS\system32にコピーしましたか? Apache/logsフォルダ内のerror.logにヒントらしきエラーログが出ることが多いので見てみてください。

参考URL:
http://drunk.chips.jp/web/2006/07/php5_windows.html
oeilvert
質問者

お礼

お返事ありがとうございます。 libmysql.dllはWindowsフォルダやsystem32フォルダにコピーして試してみました。ですが、同じ状況のようです。

  • junkUser
  • ベストアンサー率56% (218/384)
回答No.5

MySQLの動作はコマンドで確認したとのことですが、 ネットワーク経由の確認でしょうか? mysql -h localhost -u root -p で確認してみてください。

oeilvert
質問者

お礼

コマンドプロンプトで確認したのはネットワーク経由の確認ではありません。ちなみに、 mysql -u root -p ******** や mysql -h localhost -u root -p ******** でやってもコマンドプロンプトからはmysqlに入ることができました。

oeilvert
質問者

補足

先ほどphp.ini-distを使ってphp.iniを設定したり、php.iniのmysql設定を確認したのですが、貴方と全くおなじ設定でした。

  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.4

参考になるかどうか、私のphp.ini-distのMySQLに 関する部分です。 [MySQL] mysql.allow_persistent = On mysql.max_persistent = -1 mysql.max_links = -1 mysql.default_port = mysql.default_socket = mysql.default_host = mysql.default_user = mysql.default_password = mysql.connect_timeout = 60 mysql.trace_mode = Off 因みに mysql_close($conn); もセットで入れてみては どうでしょうか? 更に、XAMPPですと、インストール一発で全部動きます が、そんなヤワな方法は拒絶されますか?

oeilvert
質問者

お礼

お返事ありがとうございます。 自分のphp.iniはphp.ini-distではなくphp.ini-recommendedを使用しています。もしかするとphp.ini-distの方で動くかもしれないので試してみます! 追記 XAMPPはなるべく避けたいと思います。助言ありがとうございます。

oeilvert
質問者

補足

mysql_close($conn);を追加してもエラーは出るようです。 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 Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in C:\Server\Apache2.2\htdocs\htdocs\connect.php on line 3

  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.3

失礼、出るのですね・・・何でしょうかね。 もう少し考えて見ます。

  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.1

%connは$connの写しミスでしょうか?

oeilvert
質問者

お礼

すみません。%connと載せていましたが、"$conn"が正解です。

関連するQ&A

  • phpからMySQLに接続について

    phpからMySQLに接続について 自宅サーバーにMySQLをインストールしたのですが、 phpからMySQLに接続がうまくできず、困っています。 [test.php] <?php mysqli_connect("localhost","root","qwertyui") or die("Error MySQL First Test"); echo "Success MySQL First Test"; ?> [エラーログ] PHP Fatal error: Call to undefined function: mysqli_connect() in ~~~test.php on line 2 コマンドラインでは正常に動作しているのでインストールは問題ないと思います。 PHPの設定だと思うのですが、考えられる原因を教えていただければ幸いです。 環境 VineLinux 4.2 PHP 4.4.8 MySQL 5.0.27 よろしくお願いします。

    • ベストアンサー
    • MySQL
  • MySQLへの接続がうまくいっていないようなのですが

    つい最近PHPをはじめたばかりなのですが、環境を整えて試しにスクリプトを実行してみるとエラーが出てしまいました。 開発環境は Apache:2.0.53/PHP:5.2.1/MySQL:5.0.15 です。 実行したスクリプトは $dbHandle = mysql_connect("localhost","ユーザー","パスワード") or die("can not connect db\n"); 出てきたエラーが Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'localhost' (10061) in C:\Program Files\Apache Group\Apache2\htdocs\myphp1.php on line 18 can not connect db MySQLへの接続ができていないとまでは理解できたのですが・・・・・ 申し訳ありませんが何卒よろしくお願いします。

    • 締切済み
    • PHP
  • PHPとMySQLの連携について教えてください

    PHPからMySQLを使いたくて下記の環境を構築しました。 それぞれは正常に動作していますが、phpとmysqlの連携ができません。 PHP Version 4.3.10 MySQL Version 4.1.15 Apache 2.0.52 WindowsXP Home Edition ホスト名 localhost ユーザー名 root パスワード adminで firsttestというDBにテーブルを作成しました(DOSプロンプトから)。 そして次のコードを記述して実行すると下記のエラーが表示させます。 $conn=mysql_connect("localhost","root","admin"); // 5行目 mysql_select_db("firsttest",$conn); // 6行目 $res=mysql_query("show tables",$conn); // 7行目 --------- エラー画面----------- Warning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in C:\Program Files\Apache Group\Apache2\htdocs\sweetsystem\dbtest.php on line 5 Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in C:\Program Files\Apache Group\Apache2\htdocs\sweetsystem\dbtest.php on line 6 Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\Program Files\Apache Group\Apache2\htdocs\sweetsystem\dbtest.php on line 7 ------------------------------ MySQLを利用しないPHPプログラムは正常に動作しています。 またMySQLもDOSプロンプトからはテーブル等正常に作成できます。 初心者で先に進めずとても困っています。 解決策がありましたら教えてください。 宜しくお願いします。

    • ベストアンサー
    • PHP
  • PHPからMySQLに接続できません。

    PHP初心者でWindows XPを使っています。 「実戦マスター PHP+MySQL」という本で勉強しているのですがどうしてもわからないところがあるので教えてください。 MySQLモニタからデータベースの操作まではうまくいったのですが、phpからMySQLを操作する段になってmysql_connect('localhost', 'root', 'xxxx');とするとエラーになるのです。エラー画面は Fatal error: Call to undefined function mysql_connect() in C:\Program Files\Apache Group\Apache2\htdocs\test\test7-1-1.php on line 6 です。何故こんなエラーが出るかわかりません…。どなたか助けて頂けませんでしょうか。

  • MySQLは起動しているが、PHPから接続できない

    WEBサービスの動作確認用に自宅PCにテスト環境を構築しました。システムのバージョンは下記の通りです。すべて、同一マシンのCドライブのデフォルトのフォルダにインストールされています。 OS:WindowsXP sp3 Apache2.2 PHP5.2 MySQL5.5 先ず、phpinfo()で確認したところ、図の通りmysql,mysqli関係のエクステンションは読み込まれています。 次に、MySQL自体はサービス一覧でも起動しているし、コマンドプロンプトからも起動できます。 ポートはmy.iniで3306に設定していますが、XPのファイヤーウォールは例外設定しているし、ファイヤーウォール機能のあるアンチウイルスソフトはインストールしていません。 MySQLフォルダの中にあるmy-small.ini~my_huge.inを確認したところ、"#skip-networking"とコメントアウトされています。 試しに、"telnet localhost 3306"をやると、謎の文字列が出てきて、しばらく後に「接続が切断されました」となります。これって繋がってるって事ですよね? PHPスクリプトは下記の通りです。 <?php $link=mysql_connect('localhost','root','root')or die("MySQLと接続できません"); ?> ところが結果は、下記の通りのエラーが出て繋がりません。 Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'localhost' (10061) in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\myconnect_test.php on line 2 MySQLと接続できません 英語のドキュメントを含めて、ネット上をかなり捜しましたが、他に原因となるような事は見つかりませんでした。 これまで過去のバージョンを含め、MySQLやPHPを何度かインストール/アンインストールを繰り返したので、昔の設定ファイルが残っているのか?とも思いましたが、WINDOWSフォルダにそれらしいものは見つかりませんでした。 もうお手上げ状態ですが、何か見落としていますでしょうか?

  • PHP+MySQL 接続できません

    php5・MySQL5.0 の 環境でMySQLに接続したいのですが、 うまくいかずに困っています。 参考書の通りに設定したのですが、どこか間違っていたのでしょうか。 コマンドプロンプトから、CREATE TABLE などの操作は問題なくできます。 sample.php ------------------------------------------- <?php $con = mysql_connect("localhost", "username", "pass") or die("接続できません。"); print "接続に成功しました。"; mysql_close($con); ?> 表示された内容 ------------------------------------------- Warning: mysql_connect() [function.mysql-connect]: Client does not support authentication protocol requested by server; consider upgrading MySQL client in D:\Apache2\htdocs\sample.php on line 8 接続できません。 どうぞよろしくおねがいします。

    • ベストアンサー
    • MySQL
  • MySQLとPHPがつながりません。

    MySQL5.1 Apache2.0 PHP5.2.4をインストールしたのですが、MySQLとPHPがつながりません。 phpinfoを見ても、libxmlとodbcの間に本来あるべきMySQLがありません。 C:\WINDOWS\php.iniにある、 extension=php_mysql.dll extension=php_mysqli.dll のセミコロンは外しています。 php5ts.dllはC:\WINDOWSに、libmysql.dllはC:\System32とC:\Apache2\binにコピー済みです。 php_mysql.dllやphp_mysqli.dllもコピー済みです。 それでも反映されず、やけくそで各フォルダに全種類dllをコピーしたりもしましたがやはり反映されません。 そして、この状態でWEB上からPHPにアクセスすると、 Fatal error: Call to undefined function mysql_pconnect() in C:\Apache2\htdocs\include\setup.php on line 7 というメッセージのサイトが出てきます。 恐らくphpinfoにMySQLが反映されれば解決すると思うのですが、どのようにすれば良いのでしょうか。 どなたか宜しくお願いします。

    • ベストアンサー
    • MySQL
  • 関数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とはなんなのでしょうか? 分かる方がいたらお願いします。

    • ベストアンサー
    • MySQL
  • PHPでMySQLに接続失敗

    Apache_2.0.55 php-5.1.2-win32 mysql-5.0.21-win32 windows XP HOME Call to undefined function mysql_connect() in C:\Program Files\Apache Group\Apache2\htdocs\sample\smp01.php on line 9 とエラーがでました。 以下の設定しているのですが、このようなエラーがでました PHPとApacheのテストは成功しています mysqlコマンドラインツールの起動・操作もできました mysqlのパスワードは設定はしていません PHPのスクリプトは実行できるのですが PHPとMySQLの接続がうまくいきません 色々と、調べているのですが原因がわかりません 初心者です、どうぞ宜しくお願いします 1 <?php 2 3 $DBSERVER = "localhost"; //MySQLサーバー名 4 $DBUSER = "root"; //ログインユーザー名 5 $DBPASSWORD = ""; //パスワード 6 $DBNAME = "sampledb"; //データベース名 7  8 //MySQLに接続します 9 $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD); libmysql.dllをC:\WINDOWS\system32にコピー PHP.iniファイルでextension=php_mysql.dllをコメントから復帰 Apacheを再起動

    • ベストアンサー
    • MySQL
  • PHP4からMySQLに接続できません。

    質問です。 PHPから、MySQLを操作したいのですが、 mysql_connect("localhost","user","pass") ですと、 Client does not support authentication protocol requested by server; consider upgrading MySQL client in~ というエラーが、 mysql_connect("localhost","root","") ですと、 Access denied for user 'root'@'localhost' (using password: NO) in~ というエラーがでて、 接続できません。 PHP4.3.10,MySQL4.1を使っており、単独では動作してい ます。 何か分かる人、お願いします。

    • ベストアンサー
    • PHP