我有一个JavaScript函数来调用PHP脚本。到现在为止还挺好。当我尝试这样做时会出现问题:
$hike_id = mysql_real_escape_string($_GET['hike_id']);
当我导入我的连接文件时,它给出了一个错误,即该文件中的函数已经定义,错误是这样的:
[Fri Jun 10 12:34:43 2011] [error] [client 75.24.105.18] PHP Fatal error: Cannot redeclare hassuspicioushackerstrings() (previously declared in /home/webadmin/comehike.com/html/connect.php:16) in /home/webadmin/comehike.com/html/connect.php on line 40
它所引用的错误是连接脚本中的一个函数。
但如果我删除
include '../connect.php';
然后它会告诉我我不能使用mysql_real_escape_string函数。因此,我无法使用任何一个选项。
答案 0 :(得分:12)
尝试include_once '../connect.php';
它会确保您只包含一次此文件
答案 1 :(得分:4)
看看你的文件和你的包含......你正在声明这个功能两次,那就是错误。它与MySQL,数据库连接或mysql_real_escape_string()无关。
即。您可能包含文件A和文件B,但文件A已包含文件B ...您可以找出包含错误的位置,或使用include_once
或require_once
来防止它出现问题 - 上下。
答案 2 :(得分:2)
可能您多次包含该文件。使用require_once而不是include。
答案 3 :(得分:1)
你不能使用mysql_real_escape_string()因为connect.php很可能是设置你的数据库连接。我的猜测是有另一个包含(也许是'functions.php')具有相同的功能。
你可能有这样的事情:
function hassuspicioushackerstrings($ input){ }
在您的connect.php中,您可以在函数周围添加if(!function_exists('hassuspicioushackerstrings')) {
和}
。
答案 4 :(得分:0)
永远不要在另一个函数中创建或声明一个函数。但您仍然可以在函数内使用其他函数。例如,以下是不正确的
function addition($a, $b)
{
function subtraction(){
}
return $a+$b;
}