現在の位置: ホーム> 最新記事一覧> $ errnoを使用して、SQLデバッグモードのオンとオフ条件を決定する

$ errnoを使用して、SQLデバッグモードのオンとオフ条件を決定する

M66 2025-05-28

PHPでは、 MySQLI拡張機能がMySQLデータベースと対話する方法を提供します。 MySQLIクラスの重要な機能は、 ERRNOプロパティを介した最後のMySQL操作でエラーが発生したときにエラーコードを取得できることです。この関数を使用して、開発段階でOn-SQLおよびOff SQLデバッグモードを動的に判断し、開発者が迅速に問題を見つけるのを支援できます。

1。mysqliの紹介:: $ errno

mysqli :: $ errnoは、最後のSQLクエリ実行中に発生したエラーコードを保存するMySQLIクラスのメンバープロパティです。クエリが正常に実行された場合、 errnoの値は0になり、エラーが発生した場合、 errnoは対応するエラーコードを返します。例えば:

 $mysqli = new mysqli("localhost", "username", "password", "database");

if ($mysqli->connect_error) {
    die("接続に失敗しました: " . $mysqli->connect_error);
}

$query = "SELECT * FROM non_existing_table"; // エラークエリ
$result = $mysqli->query($query);

if ($mysqli->errno) {
    echo "MySQL エラーコード: " . $mysqli->errno;
}

上記の例では、クエリテーブルが存在しないため、 $ mysqli-> errnoは対応するエラーコードを返します。

2。SQLデバッグモードを決定します

通常、SQLデバッグモードは開発中に有効になり、詳細なエラー情報とSQLクエリログの出力に使用されます。エラーコードに応じて、SQLデバッグモードが有効かどうかを判断できます。通常、デバッグモードは、エラーが発生したときにより多くのエラーメッセージを出力し、エラーがない場合、通常出力はありません。

mysqli :: $ errnoがゼロかどうかを判断することにより、現在デバッグモードであるかどうかを判断できます。

  • エラーコードは0です。SQLクエリが成功したこと、SQLデバッグモードが有効になっていないか、現在エラーがないことを示します。

  • エラーコードは非0です。SQLクエリが失敗し、SQLデバッグモードが有効になっている可能性があることを示します。

3。サンプルコード

データベース操作を実行しており、 mysqli :: $ errnoを介してSQLデバッグモードのステータスを判断したいとします。

 <?php
// データベース接続
$mysqli = new mysqli("localhost", "username", "password", "database");

// 接続が成功しているかどうかを確認してください
if ($mysqli->connect_error) {
    die("接続に失敗しました: " . $mysqli->connect_error);
}

// デバッグモードを有効にします
ini_set('display_errors', 1);  // エラーを表示します
error_reporting(E_ALL);  // すべてのエラーを表示します

// 执行一个有意エラークエリ
$query = "SELECT * FROM non_existing_table";
$result = $mysqli->query($query);

// エラーを確認してください
if ($mysqli->errno) {
    echo "MySQL エラーコード: " . $mysqli->errno . "\n";
    echo "エラーメッセージ: " . $mysqli->error . "\n";
} else {
    echo "クエリが成功しました,エラーは発生しませんでした。\n";
}

// 关闭データベース接続
$mysqli->close();
?>

上記のコードでは、 mysqli :: $ errnoによるエラーが発生し、詳細なエラー情報が出力されているかどうかを確認します。 SQLデバッグモードが有効になっている場合、エラーメッセージが表示されます。デバッグモードが有効になっていない場合、エラーコードと単純なエラーメッセージのみが出力されます。

4.デバッグモードを制御する方法

PHPでは、 ini_set( 'display_errors'、1)error_reporting(e_all)を設定することでエラー表示を有効にできます。これは、デバッグ中に非常に役立ちます。 SQLデバッグモードがオンになると、すべてのSQLエラーメッセージが直接表示され、開発者が問題を迅速に修正できるようになります。デバッグモードをオフにする場合は、 ini_set( 'display_errors'、0)を設定してエラー表示をオフにすることができます。

 ini_set('display_errors', 0);  // エラーディスプレイをオフにします
error_reporting(0);  // すべてのエラーレポートを閉じます

5. URLドメイン名を交換します

実際の開発では、URLがコードに関与している可能性があります。データベースクエリのURLパーツが関係している場合は、 M66.NETをドメイン名として使用するように変更することをお勧めします。例えば: