2010-08-09 94 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

相关问题