2013-02-10 62 views
-1

我創建一個用戶的縮寫(string)將自己的用戶ID(INT)功能功能將字符串轉換爲整數 - 調用未定義的函數

問題是,當我調用該函數,我得到一個呼叫未定義的函數錯誤,因爲下面聲明的函數沒有在源中找到的地方!用戶縮寫

// connect to database -- this works, I checked it 
function convertRadInitToRadID($radInits){ 
    $sqlGetRadID="SELECT id FROM sched_roster WHERE radInitials == '".$radInits."'"; 
    $resultGetRadID=mysql_query($sqlGetRadID); 
    $radID=mysql_result($resultGetRadID,0); 
    return $radID; 
} 

...然後創建和陣列($ radNotOnVacay_and_NonMRNotonVacayWeekBeforeAndAfter),它的工作原理沒有錯誤我獨立地測試它

$randKey=rand(0,(count($radNotOnVacay_and_NonMRNotonVacayWeekBeforeAndAfter)-1)); 
$randRad=$radNotOnVacay_and_NonMRNotonVacayWeekBeforeAndAfter[$randKey]; 
$randAssignedRadID=convertRadInitToRadID($randRad); // call to undefined function error here 

當我觀看源函數定義碼(其中,我定義函數)無法在源代碼中看到。很奇怪。我試着把它放在腳本的不同區域,同樣的錯誤。函數定義被適當地聲明並被包裝。

很奇怪。該功能沒有出現。報價,語法,分號等等都是現貨。

沒有語法錯誤。建議嗎?

+2

第一變「radInitials ==」到「radInitials =」 – 2013-02-10 06:53:10

+2

'$ radNotOnVacay_and_NonMRNotonVacayWeekBeforeAndAfter'不是一個可接受的變量名。你希望不超過80個字符的限制? – 2013-02-10 07:00:50

回答

0

可能是你的函數是某些類的方法。所以,如果是,你應該以另一種方式使用它:

MyClass::convertRadInitToRadID($radInits) // if static method 

或類似這樣的

$class = new MyClass(); 
$class ->convertRadInitToRadID($radInits) 
-1

試圖讓你的問題的感覺...你是不是想打電話使用JavaScript函數?如果是這樣,請記住JavaScript在瀏覽器上運行,並且PHP在服務器上運行(這就是爲什麼當你「查看源代碼」時你沒有在任何地方看到該功能)。要將數據從JavaScript發回PHP,您應該使用AJAX。

+0

這應該是一個評論,而不是一個答案。 – 2013-02-10 07:06:23

1

我非常同意答案#1。

此外,如果您在調用函數後定義函數,則會在php中出現常見問題。即你的調用代碼在函數定義之前,那麼它將不會運行,並會給出未定義函數的錯誤。

您可以創建再類在類和調用你可以調用函數的$這個 - 幫助>函數(參數)

我認爲這將解決問題的時間定義此功能意思是當我試圖在我的機器上運行你的代碼時,讓我們看看發生了什麼

-1

我找到了答案:我正在使用Jquery UI選項卡....必須與選項卡有衝突。當我運行沒有標籤的代碼時,沒有問題。

感謝您的'=='修復..欣賞它。我的壞

謝謝你提醒我關於80字符VARNAME碼限制