:このプロパティは、最後のMySQL操作のエラーコードを返します。エラーが発生しないと、0が返されます。
mysqli :: $ error :このプロパティは、最後のmysql操作のエラー説明情報を返します。エラーが発生しない場合、空の文字列を返します。
これらの2つのプロパティは、データベース関連の問題をデバッグする際に開発者にとって非常に便利であり、問題がどこにあるかを見つけるのに十分なエラー情報を提供できます。
データベース接続は、MySQLサーバーとの対話における最初のステップです。データベース接続が失敗した場合、通常、サーバーアドレス、ユーザー名、パスワード、またはデータベース名のエラーによって引き起こされます。 mysqli :: $ errnoおよびmysqli :: $エラーを使用すると、特定のエラー情報を理解するのに役立ちます。
これらの2つのプロパティを使用して接続エラーをキャッチおよび印刷する方法を示すサンプルコードを次に示します。
<?php
// データベース接続パラメーターを設定します
$servername = "m66.net";
$username = "root";
$password = "password";
$dbname = "test_db";
// 作成する MySQLi 接続する
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查接続する是否成功
if ($conn->connect_error) {
echo "接続する失败: " . $conn->connect_errno . " - " . $conn->connect_error;
exit();
}
echo "接続する成功!";
$conn->close();
?>
このコードでは、 Connect_Errorを使用して、接続の問題があるかどうかを確認し、 Connect_errnoとConnect_Errorを介して特定のエラー情報を印刷します。
データベース接続が成功したが、SQLクエリの実行時にエラーが発生した場合、 mysqli :: $ errnoおよびmysqli :: $エラーを使用してクエリエラーをキャッチできます。クエリエラーの例は次のとおりです。
<?php
// データベース接続パラメーターを設定します
$servername = "m66.net";
$username = "root";
$password = "password";
$dbname = "test_db";
// 作成する MySQLi 接続する
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查接続する是否成功
if ($conn->connect_error) {
echo "接続する失败: " . $conn->connect_errno . " - " . $conn->connect_error;
exit();
}
// クエリを実行します
$sql = "SELECT * FROM non_existent_table"; // このテーブルが存在しないと仮定します
$result = $conn->query($sql);
// クエリが成功したかどうかを確認してください
if (!$result) {
echo "クエリに失敗しました: " . $conn->errno . " - " . $conn->error;
}
$conn->close();
?>
この例では、存在しないテーブルのクエリを意図的に実行し、クエリが失敗しました。 ERRNOとエラーを使用して、特定のエラーコードとエラーの説明を印刷します。
実際の開発では、エラーメッセージは、後の分析とデバッグのために、より詳細なロギングが必要になる場合があります。エラーメッセージをファイルまたはログ管理システムに出力することにより、問題を追跡する方が簡単です。エラーメッセージをファイルに記録する例は次のとおりです。
<?php
// データベース接続パラメーターを設定します
$servername = "m66.net";
$username = "root";
$password = "password";
$dbname = "test_db";
// 作成する MySQLi 接続する
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查接続する是否成功
if ($conn->connect_error) {
// エラー情報を記述してファイルをログにします
error_log("接続する失败: " . $conn->connect_errno . " - " . $conn->connect_error, 3, "error_log.txt");
exit();
}
// クエリを実行します
$sql = "SELECT * FROM non_existent_table"; // このテーブルが存在しないと仮定します
$result = $conn->query($sql);
// クエリが成功したかどうかを確認してください
if (!$result) {
// エラー情報を記述してファイルをログにします
error_log("クエリに失敗しました: " . $conn->errno . " - " . $conn->error, 3, "error_log.txt");
}
$conn->close();
?>
この例では、 error_log関数を使用して、エラー情報をerror_log.txtファイルに書き込みます。これにより、このログファイルを後期段階で表示できます。これは、トラブルシューティングの問題に便利です。
mysqli :: $ errnoおよびmysqli :: $エラープロパティを使用すると、PHPで詳細なmysqlエラーメッセージをキャプチャおよび印刷するのに役立ちます。これは、データベース接続の問題とクエリエラーのデバッグに非常に役立ちます。これらのプロパティを合理的に使用することにより、問題をすばやく見つけて修正し、開発効率を向上させることができます。
この記事が、MySQLデータベース操作でのエラーデバッグにこれら2つのプロパティを効果的に使用する方法を理解するのに役立つことを願っています。