sql >> データベース >  >> RDS >> Mysql

エラー2002MAMPで実行されているMySQLに接続するPHPで接続が拒否されました

    問題は、ポートを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の動作を理解する必要があります。このような不快な状況やエラーを確実に回避できるので、将来のためにこれを覚えておいてください。



    1. OracleCloudPlatform上のOracleDatabase12cでのOracleJDeveloper12cの使用、パート2

    2. ServiceStack:NuGetとともにインストールされたOrmLiteをテストしていますが、エラーFileNotFoundExceptionが発生します

    3. PHPフィルタリングを使用したSQLインジェクション

    4. Insert ... ON DUPLICATE KEY UPDATEusingknexを使用して複数の行を追加する方法