コマンドプロンプトから、mysql -u root -p
とすると、接続に成功します。
ところが、
<?php
$db_host = "localhost";
$db_user = "root";
$db_passwd = "xxx";
$db = mysql_connect($db_host,$db_user,$db_passwd);
?>
では、
Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'localhost' (10061) in mysql.php on line 6
となります。
どうしてでしょうか?
MYSQLはver5.0
phpはver5.1
です。
よろしくお願いします。
http://homepage1.nifty.com/yito/anhttpd/faq/php5.html
基礎なのでご覧になったとは思いますが、念のため。
; Windows Extensionsの
extension=php_mbstring.dll
は有効にしてますよね?
回答ありがとうございます。
php.iniファイルの
;extension=php_mbstring.dll
の前の;は取り除きましたが。。。
すいませんextension=php_mysql.dllの間違いです。
やってますよね・・・。
http://homepage1.nifty.com/yito/anhttpd/faq/php5.html
↑同じです。
ありがとうございます。
設定しました。
>コマンドプロンプトから、mysql -u root -pとすると、接続に成功します。
ということなのでmysqlは動いていると思います。
次はPHPがMySQLを認識しているかを
<?php phpinfo(); ?>
でmysqlの項目を確認して下さい。
ttp://allabout.co.jp/internet/database/closeup/CU20040928A/ok2.jpg
WindowsXPの場合ファイアウォールがじゃまするらしい。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=881855
ttp://ud037.are.ous.ac.jp/WebSite/MySQLConfigurationError/
症状がちょっと違う気がしますがポート遮断は考えられると思います
(直リンクまずいのかなぁと思いコピペにしました)
mysql5なら
extension=php_mysqli.dll
の方を使って、
mysqli_connect
を使わないとだめではないでしょうか。
10061はMysql未起動、ホストに到達できない(名前解決できない場合も含む)と思われます。
WebサーバとDBサーバは一緒ですか?
・ファイアーウォールがあれば設定を見直す
・Windows標準のファイアーウォール(XP以上であれば)、ノートン(インターネットセキュリティであれば)のポートセキュリティの見直し
・localhostの名前解決ができているか?
http://www.symantec.com/ja/jp/home_homeoffice/products/overview....
以上、それでも駄目ならごめんなさい。
回答ありがとうございます。
参考になりそうですが、
私の環境はwindowsです。
ノートンを使用してますが、関係あるでしょうか?