У меня есть функция 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; }