2014-12-04 43 views
0

我正在使用xfilesharing免費沒有任何問題,直到今天當我嘗試上傳時收到這些錯誤消息:錯誤DBD :: mysql :: db做失敗:調用本地函數'INET_ATON'中的錯誤參數計數

upload.cgi:DBD :: mysql的:: DB做失敗:不正確的參數計數調用本地函數 'INET_ATON' 的模塊/ DataBase.pm線65

upload.cgi:不能exec:s INSERT INTO Files SET file_name =?,file_descr =?,file_code =?,file_del_id = ?, file_size = ?, file_password = ?, file_ip = INET_ATON(?),file_created = NOW()

upload.cgi:在調用本地函數「INET_ATON」在模塊/ DataBase.pm線不正確的參數計數65.

這是線65:my $rc=$self->{dbh}->do($expr,undef,@_)||die "Can't exec:\s $expr \n".$self->dbh->errstr; 完整的代碼可以在pastebin.

訪問

我認爲服務器更新了Perl版本,這可能是問題所在。 任何人都知道如何解決,除了降級Perl?

+0

您應該查看傳遞給INET_ATON的參數......很難說沒有更多信息/代碼的情況下會發生什麼。 – jackthehipster 2014-12-04 08:57:48

+0

我已經添加了完整文件的鏈接。 – calculataur 2014-12-04 10:05:10

+0

這似乎只是一個模塊。用INSERT INTO調用Exec()的部分在哪裏?並且stacktrace會有幫助... – jackthehipster 2014-12-04 10:30:01

回答

1

根據錯誤日誌,這個MySQL方法(INET_ATON)預計有一個有效的IPv4地址(X.Y.Z.A)。

這可能是一些參數順序問題,因爲這樣的參數分配(?)會導致這種情況,或者IP地址可能是配置文件中的服務器名稱或'localhost'。

乾杯。

+1

是的,你說得對,問題在於INET_ATON。我從查詢中刪除了該函數,現在它可以工作。 – calculataur 2014-12-08 07:47:21