2011-12-05 8 views
3

可能性の重複なされないことができます:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in selectPHP -MySQL:いいえ接続が

を私は次のエラーを取得していますdatabase.but MySQLを接続しようとしました。

警告:mysql_connect():[2002]ターゲットマシンが積極的に(tcp://localhost:3306を経由して接続しようとしている)ので接続なしでtest.phpで行われたことはできなかったライン上の

警告mysql_connect():接続なしターゲットマシンが積極的にそれを拒否したために作成することができます。 mysql_close()ライン上test.phpに示すブーリアン

test.phpを、パラメータ1は、リソースことを期待:

<?php 
$link = mysql_connect(localhost, dbuser, dbpass); 
if (!$link) { 
    die('Could not connect: ' . mysql_error()); 
} 
echo 'Connected successfully'; 
mysql_close($link); 
?> 
+0

MTSQIのようなものはありません – ajreal

+3

「ターゲットマシンが積極的にそれを拒否したため接続できませんでした」はあまり明確ではありませんか? –

+0

これはtest.phpファイルを実行すると警告が表示される – jsk

答えて

1

MySQLサーバライン警告にtest.phpを中が実行されていないか、ファイアウォールでポート3306をブロックしています。

このエラーメッセージは、システムがTCP接続を受け入れなかったことを意味しますイオン要求。

+0

ああ、ありがとうございました。しかし、このタイプのエラーには何ができるのですか? – jsk

+0

@jskは上記のManseUKの質問に答えます。 –

8

これは、VirtualBoxのWindows Server 2008のIIS7でPHP & MySQLを実行しているときに起こりました。 Windowsホストファイルにlocalhost(127.0.0.1)のIPv4エントリがないため、localhost上のMySQLへのルートが見つかりませんでした。

我々はそれを解決しhostsファイルに以下を追加:

127.0.0.1  localhost # Additional IPv4 entry 
::1    localhost # Existing IPv6 localhost entry 

参考:のmy.ini検索文字列でA brief description of PHP/MySQL Localhost via IPv4 & IPv6

+1

ありがとうエリックKigati。どうもありがとう。 –

1

:IPネットワークするローカルホストから

bind-address = 127.0.0.1 

変更。

+0

ありがとう、それは私のためにWindowsサーバーでそれをした – sarsnake

+0

bind-address = 0.0.0.0 – Slawa

1

「localhost」に誤って接続しようとしている同じメッセージが表示されます(Windowsサーバー上)。接続文字列を正しい(リモート)サーバーに修正した後、エラーは消えました。