1

php-mysql スクリプトの実行中に詳細なエラーの説明を取得するにはどうすればよいですか?

スクリプトが失敗し、カスタム エラー メッセージ (「or die」の内容) を表示する次のステートメントがあります。

MySQL から実際のエラーを取得したい (前述のカスタム エラーではなく)。これにより、データベースの問題かサーバー接続の問題かなど、シナリオについてより良いアイデアが得られます。

これは、エラー報告を強化する必要があるコードです

$query = "SELECT * FROM table_name";
$result = mysqli_query($db_conn, $query) 
  or die('Connected to database, but querying failed');

ありがとう!

4

4 に答える 4

4

mysql_error関数を確認してください。

于 2011-05-22T20:16:53.177 に答える
1

mysqli_errorのマニュアル ページを参照してください。「手続き型」セクションでは、データベース接続のセットアップ方法とデータベースへのクエリ方法を示す完全な例を見つけることができます。両方のステップでエラー処理が行われます。

スクリプトから詳細なエラー情報が必要な場合は、次の行を入力できます

error_reporting( E_ALL );
ini_set('log_errors', true);
ini_set('error_log', '/tmp/php-errors.log');

コードの先頭に。そうすれば、PHP から発生するすべてのエラーがログ ファイルに書き込まれます。ログ ファイルへのパスが存在し (/tmpこれは単なる例です)、Web サーバーから書き込み可能であることを確認してください。そうでない場合、エラーは警告なしで破棄されます。

補足: " or die()" パターンは小さな例には適していますが、本番コードでは使用しないでください。

于 2011-05-23T08:22:17.760 に答える
0

私はPDOを使用し、PDOに例外をスローさせることを好みます。

于 2011-05-22T20:31:03.313 に答える
0

使用している場合は、phpmyadmin のクエリ ページにクエリを挿入できます。しかし、これはエラーが変数にあるかどうかを教えてくれません

于 2011-05-22T20:41:10.510 に答える