PHP串連PostgreSQL的有關問題

來源:互聯網
上載者:User
PHP串連PostgreSQL的問題
本帖最後由 houpengg 於 2014-07-24 22:18:17 編輯

這段時間正在學PostgreSQL,我用的是PDO方式來操作,串連、增刪改查都可以正常操作,但是發現所有出錯的語句都不會報錯,比如在mysql中一條錯誤sql會直接中斷並輸出錯誤資訊和錯誤號碼,但是postgresql只是給結果賦個false值,沒有任何資訊和提示,都不知道是不是因為sql文法的問題,還有就是在一個事務裡,有出錯的sql執行,最終居然也執行成功了。。。沒有catch出任何錯誤。
不清楚是我哪裡配置有問題或者操作方式不對,希望有瞭解的朋友可以點撥一下,謝謝!
------解決方案--------------------
PostgreSQL 不會給出錯誤號碼和錯誤資訊?這顯然是不可能的,只不過你不知道如何檢查是否出錯了而已
PDO 用兩種提供錯誤資訊的方式:
1、通過 errorInfo 方法返回一個數組
array(
0 => ANSI SQL 標準的 SQLSTATE錯誤碼
1 => 所用資料庫自己定義的錯誤碼
2 => 所用資料庫自己定義的錯誤資訊
}
你可通過檢查第一項知否全 0 來判斷是否有錯
這是 PDO 預設的方式
2、通過設定屬性項 PDO::ATTR_ERRMODE 的值為 PDO::ERRMODE_EXCEPTION 來指定使用異常拋出機制
try {
//在這裡做各種資料庫操作
} catch (PDOException $e) {
die( "Error!: " . $e->getMessage() . "\n" );
}
其實手冊中說的很清楚了,只是你沒有認真閱讀而已
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.