Ошибка PHP – не может переопределять функцию

У меня есть функция 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. Таким образом, я как бы застрял между невозможностью использовать любой вариант.

попробуйте include_once '../connect.php'; он будет содержать только один раз этот файл

Взгляните на свои файлы и ваши включенные … Вы объявляете эту функцию дважды, то есть ошибку. Он не имеет ничего общего с MySQL, подключениями к базе данных или mysql_real_escape_string ().

Т.е. вы можете включать в себя файл A и файл B, но файл A уже содержит файл B … Вы можете либо выяснить, где ваши включения идут не так, либо использовать include_once или require_once чтобы предотвратить его двойную загрузку.

Вероятно, вы включаете файл несколько раз. Используйте require_once вместо include.

вы не можете использовать mysql_real_escape_string (), потому что connect.php, скорее всего, настроит соединение с базой данных. Я предполагаю, что есть еще один (возможно, «functions.php»), который имеет ту же функцию.

У вас, вероятно, есть что-то вроде этого:

функция hassuspicioushackerstrings ($ input) {}

в вашем connect.php вы можете добавить if(!function_exists('hassuspicioushackerstrings')) { и } вокруг функции.

Никогда не создавайте и не объявляйте функцию внутри другой функции. Но вы можете использовать другие функции внутри функции. Например, следующее неверно

 function addition($a, $b) { function subtraction(){ } return $a+$b; }