問題は、ポートをmysqli接続への5番目のパラメーターとして渡していないことです。localhost
を使用している場合 ホストとして、ポートパラメータは無視されます。これが、MAMPスニペットで$db_port
を渡さない理由です。 パラメータとして、それは単に必要ではありません。これが発生する理由は、localhost
TCP / IPを使用せず、代わりにUNIXソケットを使用します。
他の人の提案に従った後、おそらくコードを自分が持っていたところまで変更したでしょう
$db_host = '127.0.0.1';
これは問題ありませんが、UNIXソケット(localhost
を使用しなくなったため) )、接続を確立するためにポートパラメータが必要です。Mysqliは3306
を使用します 5番目のパラメーターとして他を指定しない場合は、デフォルトのポートとしてポートします。これが、そのコードを使用して接続しようとしているポートです。ここで、Error: Connection refused
から来ています。
この問題を解決するには、次のように5番目のパラメータとしてポートを渡す必要があります。
$mysqli = new mysqli($db_host,$db_user,$db_password,$db_db,$db_port);
スニペット自体は素晴らしく、ニーズに完全には適合していなかったため、少し調整する必要がありました。スニペットを使用する場合は、スニペットの機能と、この場合はmysqliの動作を理解する必要があります。このような不快な状況やエラーを確実に回避できるので、将来のためにこれを覚えておいてください。