量産メモ帳

忘れっぽいのでメモを残しています。浅く適当に書きます。

mysql_connect で MySQL サーバへの接続をオープンする。

引用元:

mysql_user', 'mysql_password');
if (!$link) {
    die('接続できませんでした: ' . mysql_error());
}
echo '接続に成功しました';
mysql_close($link);
?>



上記のコードを記載したファイル(*.php)に、ローカルの Web サーバー経由でアクセスしようとしたら、"接続に成功しました"も"接続できませんでした"も表示されなかった。
原因は、「C:\Windows\System32\drivers\etc」ディレクトリにある「hosts」ファイルの以下の記述と、PHP 関数「mysql_connect」の相性の悪さ。

1 localhost



これは IPv6 用の名前解決だそうで*1、「mysql_connect」の第一引数に"localhost"を指定すると、"::1"に名前解決してしまうらしい。
この問題を解消するためには、第一引数に"127.0.0.1"を指定するか*2、「hosts」ファイルの当該行をコメントアウトしなければならない*3
もし、「hosts」ファイルを修正するなら、管理者として「メモ帳」を開いて編集しなければならない。*4


Vista、色々と面倒くさい。。