PostgreSQL への PHP の接続に関する問題
この投稿は 2014-07-24 22:18:17 に hopengg によって最終編集されました 私はこの期間に PostgreSQL を学習し、操作、接続、追加を行っています。削除、変更、チェックは正常に動作しますが、すべての誤ったステートメントに対してエラーは報告されません。たとえば、mysql では、エラー SQL は直接中断してエラー メッセージとエラー番号を出力しますが、postgresql は false 値を割り当てるだけです。 SQL 構文の問題によるものなのか、トランザクション内の SQL 実行でエラーが発生したためなのかはわかりませんが、最終的には正常に実行されました。 。 。エラーは捕捉されません。
私の設定に問題があるのか、それとも操作方法が間違っているのかわかりません。詳しい方に教えていただければ幸いです。ありがとうございます。
------解決策---------PostgreSQL ではエラー番号やエラー メッセージが表示されません。これは明らかに不可能です。問題が発生したかどうかを確認する方法がわからないだけです。
PDO は、エラー情報を提供するために次の 2 つの方法を使用します。
1. errorInfo メソッドを介して配列を返します。
array(
0 => ANSI SQL 標準 SQLSTATE エラー コード
1 => 使用するデータベースで定義されたエラー コード
2 => 使用するデータベースで定義されたエラー メッセージ
}
チェックできます最初の項目がすべて 0 であるかどうかを判断してエラーがあるかどうかを判断します
これは PDO
2 のデフォルトのメソッドです。属性項目 PDO::ATTR_ERRMODE の値を設定して例外スロー メカニズムの使用を指定します。 PDO::ERRMODE_EXCEPTION
try {<br /> //在这里做各种数据库操作<br /> } catch (PDOException $e) {<br /> die( "Error!: " . $e->getMessage() . "\n" );<br /> }<br />
ログイン後にコピー
実際、マニュアルには明確に記載されていますが、ただ注意深く読んでいなかっただけです