現在の位置: ホーム> 最新記事一覧> すべてのmysqlエラーコードとその意味を$ errnoでマッピングする方法

すべてのmysqlエラーコードとその意味を$ errnoでマッピングする方法

M66 2025-05-17

開発では、 MySQLIを使用してMySQLデータベースに接続すると、さまざまなエラーが発生する場合があります。これらの問題をデバッグするには、 mysqli :: $ errnoを使用してエラー情報をすばやく取得し、エラーの特定の原因を理解できます。この記事では、mysqli :: $ errnoと一般的なmysqlエラーコードの意味の使用方法を紹介します。

1. mysqli :: $ errnoとは何ですか?

mysqli :: $ errnoは、最後のmysql操作のエラーコードを保存するmysqliクラスのプロパティです。このプロパティにアクセスすることで、データベース操作が成功しているかどうかを確認できます。操作が失敗した場合、 $ errnoはエラーコードを返し、このエラーコードに基づいて問題を診断できます。

2。mysqli :: $ errnoを使用してmysqlエラーを取得するにはどうすればよいですか?

まず、MySQLデータベースに接続してSQLステートメントを実行する必要があります。 SQLステートメントの実行中にエラーが発生した場合、 mysqli :: $ errnoが対応するエラーコードに設定されます。これが例です:

 <?php
// 作成する mysqli オブジェクトとデータベースに接続します
$mysqli = new mysqli("localhost", "username", "password", "database_name");

// 接続が成功しているかどうかを確認してください
if ($mysqli->connect_errno) {
    echo "データベースに接続できませんでした: " . $mysqli->connect_error;
    exit();
}

// 埋め込む SQL 声明
$result = $mysqli->query("SELECT * FROM non_existent_table");

// クエリが成功したかどうかを確認してください
if (!$result) {
    echo "クエリに失敗しました,エラーコード: " . $mysqli->errno . "<br>";
    echo "エラーメッセージ: " . $mysqli->error;
}

$mysqli->close();
?>

上記のコードでは、存在しないテーブル( non_existent_table )のクエリを意図的に実行しました。これにより、エラーがトリガーされました。 $ mysqli-> errnoはエラーコードを返し、エラーコードに基づいてエラーの特定の原因を見つけることができます。

3.一般的なMySQLエラーコードの意味

以下は、いくつかの一般的なMySQLエラーコードと、開発者がエラーメッセージをよりよく理解できるようにするためのその意味です。

エラーコードエラーメッセージ説明する
1045ユーザーのアクセスは拒否されますユーザー認証は、通常ユーザー名またはパスワードエラーで失敗しました
1049不明なデータベースデータベースは存在しません
1146テーブル「xxx」は存在しませんテーブルは存在しません
1064 SQL構文にエラーがありますSQL構文エラー
1062キー「プライマリ」の重複エントリ主要な競合、挿入されたプライマリキーの重複
2002年ローカルMySQLサーバーに接続できませんmysqlサーバーに接続できないため、通常サーバーは起動しません
2013年MySQL Serverへの接続が失われました接続の失われた、可能なネットワークの問題、またはサーバーのタイムアウト
1142拒否されたコマンドを選択しますユーザーは選択操作を実行する許可を持っていません
1366整数値が正しくありません挿入されたデータ型はフィールドタイプと一致しません
1054不明な列クエリ列は存在しません

4.エラーコードに基づいて問題に対処する方法は?

mysqli :: $ errnoによって提供されたエラーコードが発生した場合、ここにそれを処理する一般的な方法があります。

  • エラーコード1045(ユーザーにはアクセス拒否) :これは、提供されたユーザー名またはパスワードが間違っていることを意味します。正しい資格情報に接続し、構成ファイルに保存されているデータベースログイン情報を確認してください。

  • エラーコード1049(不明なデータベース) :このエラーは、接続されたデータベースが存在しないことを示しています。データベース名が正しく綴られていることを確認するか、データベースサーバーに対応するデータベースを作成する必要があります。

  • エラーコード1064(SQL構文にエラーがあります) :これはSQL構文エラーです。 SQL Queryステートメントにタイプミスがあるかどうかを確認し、SQLステートメントが構文ルールに準拠していることを確認してください。

  • エラーコード1062(キー「プライマリ」の重複エントリ) :このエラーは、重複したプライマリキー値を挿入しようとしていることを示しています。挿入されたデータを確認して、重複がないことを確認したり、主要なキー値を変更したりできます。

  • エラーコード1146(テーブル 'xxx'は存在しません) :このエラーは、クエリテーブルが存在しないことを示しています。テーブルが作成されていることを確認するか、クエリステートメントのテーブル名が正しいことを確認する必要があります。

5。概要

mysqli :: $ errnoは、 MySQLエラーの原因をすばやく見つけるのに役立つ非常に実用的なツールです。エラーコードとエラーメッセージを組み合わせることにより、問題をより効率的に解決できます。さらに、一般的なMySQLエラーコードとその意味を理解することは、開発中のデバッグ効率を改善するのにも役立ちます。

うまくいけば、この記事がmysqli :: $ errnoをよりよく理解して使用し、MySQLエラーをより簡単に処理するのに役立つことを願っています。他の問題が発生した場合は、さらに検索するために公式のMySQLエラーコードドキュメントを参照することもできます。