PHPでPDO::errorInfo()メソッドが返す配列のうち添え字が0番目にあたる「共通のエラーコード」と1番目にあたる「ドライバー固有のエラーコード」があります。
この共通のエラーコードの「共通」は、何が共通なのでしょうか。また1番目のドライバーとはいったい何のことを指すのでしょうか。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
ベストアンサー
PDOは、接続する先のDBがMySQLであってもPostgreSQLであってもOracleであっても、できるだけ同じようにアクセスできるようにするためのインターフェイスです。
実際にはPDOの中で、接続する先のDBに合わせたドライバーを利用して接続しています。
DBによって特有の機能等もあるため、そういった機能は「ドライバー固有の」機能となります。
そういった機能で発生したエラーは「固有のエラー」です。
ドライバーによらず、例えば明らかにパラメータが足らない、などのエラーはドライバーによらないので「共通のエラー」になります。
投稿2016/07/04 11:36
総合スコア2037
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/05 03:35
2016/07/05 11:27
2016/07/05 11:35
0
共通のエラーコード はANSI SQLで定義されたSQLSTATEが入ります。
ドライバーとはデータベースに接続するためのミドルウェアのことです。
基本的に接続するデータベースごとに異なります。
投稿2016/07/04 11:36
総合スコア487
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/05 02:34 編集
2016/07/05 02:47
0
そのまま検索すれば、マニュアルが出てきて、
0 SQLSTATE エラーコード (これは、ANSI SQL 標準で定義された英数 5 文字の ID)
1 ドライバ固有のエラーコード
2 ドライバ固有のエラーメッセージ
と書いてありますが、これでは不足ですか?
さらに検索すれば、SQL State Error Codes という情報が見つかりますね。
ドライバもマニュアルにあります。
PHP: PDO ドライバ - Manual
各DBに対応した接続を行うためのドライバだと思います。
ちょっと検索すればでてくることや、公式のマニュアルに載っていることは最低限調べてから質問したほうが、自分のためにもなると思いますよ ^^
その上でわからないことを聞くのは、みんな疑問に思うことかも知れないので役に立つ質問になると思います。
投稿2016/07/04 11:41
総合スコア2208
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/05 02:39 編集