現在の位置: ホーム> 最新記事一覧> $ mysqli_optionsで接続プロパティを調整するときに$ errnoエラーが発送されます

$ mysqli_optionsで接続プロパティを調整するときに$ errnoエラーが発送されます

M66 2025-06-02

多くの場合、開発者はPHPを使用してMySQLと対話するときに接続エラーやパフォーマンスの問題を経験します。 mysqli :: $ errnoおよびmysqli_optionsは、mysql接続プロパティをより適切にトラブルシューティングおよび調整し、それにより共通の接続エラーまたは不安定な問題を解決するのに役立ちます。この記事では、これらのツールを使用してMySQL接続をデバッグする方法を詳細に説明します。

1。はじめに

MySQLは、開発者がMySQLと対話するときに問題を診断するのに役立つ豊富な接続オプションとエラーコードを提供します。 PHPのMySQLI拡張機能は、MySQLI :: $ ERRNOMySQLI_OPTIONSなどのツールを提供し、データベース接続をより詳細に制御し、エラーをキャッチおよび調整できるようにします。

2。mysqli :: $ errnoとは何ですか?

mysqli :: $ errnoは、以前のMySQL操作が失敗したときにエラーコードを表す整数です。このプロパティは、SQLクエリの実行中にデータベース接続が失敗したり、エラーが発生したときに対応するエラーコードを返すことができます。このエラーコードを分析することにより、エラーの原因を理解するのに役立ちます。

一般的なmysqlエラーコードは次のとおりです。

  • 2002 :MySQL Serverに接続できません

  • 1045 :アクセス拒否、ユーザー名またはパスワードエラー

  • 1049 :指定されたデータベースは存在しません

3. mysqli_optionsとは何ですか?

MySQLI_OPTIONS関数を使用すると、MySQL接続を作成するときに異なる接続オプションを設定できます。これらのオプションを使用して、接続タイムアウトの設定、文字セットの調整など、MySQL接続の動作を調整できます。この関数は、mysqli :: real_connect()メソッドを介して適用できます。

一般的なオプションは次のとおりです。

  • mysqli_opt_connect_timeout :接続タイムアウト時間を設定します。

  • mysqli_opt_local_infileLoad Data Localコマンドを有効または無効にします。

  • mysqli_opt_compress :データ圧縮を有効または無効にします。

4.接続エラーのトラブルシューティング

4.1接続が成功したかどうかを確認します

mysqli :: $ errnoを使用すると、接続を確立した後に成功したかどうかを判断できます。接続が失敗した場合、 mysqli :: $エラーを介して詳細なエラー情報を取得できます。

 <?php
$mysqli = new mysqli("m66.net", "username", "password", "database");

if ($mysqli->connect_errno) {
    echo "接続に失敗しました: " . $mysqli->connect_error;
    exit();
}
echo "接続に正常に!";
?>

この例では、 $ mysqli-> connect_errnoがゼロ以外の値を返す場合、接続が失敗したことを意味します。エラーコードに従ってさらにトラブルシューティングできます。

4.2 mysqli_optionsを使用して、接続パラメーターを調整します

デフォルトのタイムアウト設定または文字セットの不一致により、MySQL接続が失敗する場合があります。これらの設定は、 mysqli_optionsを使用して調整できます。

たとえば、接続タイムアウトが疑われる場合は、 mysqli_opt_connect_timeoutを調整できます。

 <?php
$mysqli = new mysqli();
$timeout = 10; // 接続タイムアウトをに設定します102番

// 接続タイムアウトを設定します
$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, $timeout);

$mysqli->real_connect("m66.net", "username", "password", "database");

if ($mysqli->connect_errno) {
    echo "接続に失敗しました: " . $mysqli->connect_error;
    exit();
}
echo "接続に正常に!";
?>

接続中にタイムアウトエラーが発生した場合、 mysqli_opt_connect_timeoutを調整して耐性を高め、MySQLサーバーのネットワークレイテンシまたは遅い応答による接続障害を回避できます。

4.3エラーコード分析

mysqli :: $ errnoを介して特定のエラーコードを取得した後、エラータイプに応じて異なる測定値をとることができます。例えば:

 <?php
$mysqli = new mysqli("m66.net", "username", "wrong_password", "database");

if ($mysqli->connect_errno) {
    switch ($mysqli->connect_errno) {
        case 1045:
            echo "間違ったユーザー名またはパスワード,入力されたバウチャーを確認してください";
            break;
        case 2002:
            echo "接続できません MySQL サーバ,请检查サーバ地址和端口";
            break;
        default:
            echo "接続に失敗しました,エラーコード: " . $mysqli->connect_errno;
    }
    exit();
}
?>

この方法は、エラーを正確に見つけて、対応する調整を行うのに役立ちます。

5。FAQとソリューション

5.1接続に失敗した、エラーコード2002

このエラーは通常、到達不可能なデータベースサーバーまたはポート構成エラーによって引き起こされます。ソリューションは次のとおりです。

  • MySQLサーバーが実行されていることを確認してください。

  • ネットワーク接続に問題がないことを確認してください。

  • M66.NETドメイン名の解像度が正しく、アクセスをブロックするファイアウォールがないことを確認してください。

5.2ユーザー名またはパスワードが正しくない、エラーコード1045

このエラーは、データベース接続の資格情報が正しくないことを示しています。ソリューションは次のとおりです。

  • ユーザー名とパスワードが正しいことを確認してください。

  • MySQLユーザーが指定されたデータベースに接続するのに十分な権限があることを確認してください。

5.3データベースは存在しません、エラーコード1049

このエラーは、要求されたデータベースがサーバーに存在しないことを示しています。ソリューションは次のとおりです。

  • データベース名が正しいことを確認してください。

  • データベースがMySQLサーバーで作成されていることを確認してください。

6。概要

mysqli :: $ errnoおよびmysqli_optionsを使用すると、mysql接続の問題をより効果的に診断および解決することができます。これらのツールを正しく使用すると、問題をタイムリーに特定し、それらを修正するための適切な措置を講じることができ、データベース操作の安定性と信頼性を確保できます。