2010-08-09 79 views
6

中聲明)我不明白,該函數不存在,即使我將其更改爲一些荒謬的名稱,它仍然無效。問題致命錯誤:無法重新聲明mss()(之前在*

function mss($value){ 
    $data = mysql_real_escape_string(trim(strip_tags($value))); 
    return $data; 
} 

編輯:我忘了提,它的XAMPP

回答

1

如果你保存在一個單獨的文件,你包括它不止一次小心

+1

我只是檢查,沒有 – Rob 2010-08-09 01:58:41

7

是什麼?將意味着你已經定義了兩個獨立的函數鍋,或者你包括同一個文件兩次。

使用include_once/require_once而不是include/require。

+1

試過了。同樣的問題 – Rob 2010-08-09 02:00:50

+0

@Rob就在聲明mss()之前,使用下面的代碼:var_dump(get_included_files());確保沒有包含重複的文件。 – 2010-08-16 22:46:06

3

本Rowe的答案几乎肯定是它發生的原因。

我不建議這樣做,但你可以隨時換你的功能function_exists()

if(!function_exists("mss")) { 

    function mss($value){ 
     $data = mysql_real_escape_string(trim(strip_tags($value))); 
     return $data; 
    } 

} 

該解決方案是凌亂。找出你的文件被包含兩次或者這個函數被定義兩次的地方几乎總是更可取。但是,對於特殊情況這個解決方案可能是適當的。

+0

是的,可以工作。我不推薦它,因爲它通常是不必要的性能影響。 – 2010-08-09 03:11:38

+2

甚至會產生'無法重新聲明'錯誤:\ – Rob 2010-08-09 03:23:00

+1

@Rob您確定您正在編輯正確的文件嗎?什麼確切的錯誤消息說?它最初聲明瞭哪個文件/行,並且重新聲明瞭哪個文件/行? – 2010-08-09 03:35:13

0

只要您在一個單獨的.php文件中聲明瞭一次函數,include_once(不包括)就可以工作。請仔細檢查該函數是否在別處沒有提及。

0

你應該:include_once 代替:包括

+2

你能詳細解答這個問題嗎? – ppovoski 2017-01-06 00:13:27

相關問題