錯誤訊息: Fatal error: Call to a member function bindValue() on null 此錯誤原因為執行時沒有引用到 $dbc->prepare($sql); 完整使用 $sql=”SELECT * FROM TEST WHERE ID:id ”; $dbc = new ConnDB(ConnDB::$CHARSET_AL32UTF8); $stmtSel = $dbc->getConnection()->prepare($sql); // 這段沒有引用到造成上述的錯誤 $stmt->bindValue(":id", $id, PDO::PARAM_STR); $stmtSel->execute(); 參考網址:https://stackoverflow.com/questions/19681463/error-in-pdo-page-call-to-a-member-function-bindvalue-on-a-non-object
前不久因為機房有一台 windows 的主機太老舊要關機了, MIS 通知我上面的系統都要搬移,我把負責的系統搬到另一台 windows 主機上,在 IIS 上建了一個新的站台然後基本設定做完要做測試時出現了以下的錯誤訊息: Microsoft OLE DB Provider for ODBC Drivers 錯誤 '80004005' 字面上的意思就是找不到這個驅動,但進去看設定明明 ODBC 的驅動都在上面了,找了好久終於爬到原來我的系統裡面有使用 access 這個我覺得很老又很陽春的資料庫,他必須要在 32 位元的 server 才能正常運作,但我這台是 64 位元的所以才會出現這個錯誤訊息,解決的設定如下: 在 IIS 的管理介面點開應用程式集區,會看所有的站台列表,點開要設定的站台,然後獎啟用 32 位元應用程式的 False 改成 True 後即可。
ORA-12899: value too large for column 最近在做儲存資料的動作時出現了錯誤,這個錯誤訊息很簡單就是字面上的意思,輸入值的長度大小超出欄位可存的範圍。 一般在加大欄位的儲存大小後即可解決,不過建議在欄位建立之前先規劃好要存的資料大小,非不得以時再作改欄位大小的動作,不然欄位加大後可是沒辦法再減少的。 或是檢查一下輸入的資料對應的欄位是否都正確,不然就像我一樣白癡 10bit 的值塞錯欄位寫到了只能存 2bit 的欄位,修改後就能順利存入了。
留言
張貼留言