0
自今天早上我開始接受生產網站的這個錯誤,我想知道爲什麼我在UAT或開發環境中得不到相同的結果..Yii CDbException ..整數的輸入語法無效:「1,075」
是否有人熟悉這樣的錯誤?
CDbException
Description
CDbCommand failed to execute the SQL statement: SQLSTATE[22P02]: Invalid text representation: 7 ERROR: invalid input syntax for integer: "1,076"
Source File
C:\inetpub\wwwroot\framework1.0\db\CDbCommand.php(372)
00360: }
00361:
00362: if($this->_connection->enableProfiling)
00363: Yii::endProfile('system.db.CDbCommand.query('.$this->getText().')','system.db.CDbCommand.query');
00364:
00365: return $result;
00366: }
00367: catch(Exception $e)
00368: {
00369: if($this->_connection->enableProfiling)
00370: Yii::endProfile('system.db.CDbCommand.query('.$this->getText().')','system.db.CDbCommand.query');
00371: Yii::log('Error in querying SQL: '.$this->getText().$par,CLogger::LEVEL_ERROR,'system.db.CDbCommand');
00372: throw new CDbException(Yii::t('yii','CDbCommand failed to execute the SQL statement: {error}',
00373: array('{error}'=>$e->getMessage())));
00374: }
00375: }
00376: }
附加了截圖..應用程序是基於yii框架和postgress數據庫。
快速回復高度讚賞。
很可能某人在輸入字段之一中輸入了「1,076」作爲數字,並將此未修改發送到數據庫。儘管如此,DB應該是'1.076'。您需要先轉換成正確的格式。 –
或者很可能是'1076';許多人會用千位分隔符寫'1,123.00'(美國/澳大利亞/英國表格)或者'1.123,00'(歐盟表格)。 PostgreSQL不會接受含有數千個分隔符的整數。 –
@CraigRinger不,它在我的開發結束時起作用。所以我想知道這可能如何。此外,數字1,076保持有時更改爲1064 ...也不會發生,由於用戶輸入或類型濫用... – dev1234