Проблема с кодом в php

Статус
В этой теме нельзя размещать новые ответы.

Kilkeni

Профессор
Регистрация
24 Июн 2013
Сообщения
158
Реакции
48
В общем я не очень разбираюсь в пхп, пока только учусь, и встала у меня кость в горле

Fatal error: Cannot redeclare mqfa1() (previously declared in Y:\home\bkwar.r\www\connect.php:48) in Y:\home\bkwar.r\www\connect.php on line 52

(я не знаю что эта ошибка от меня хочет)

Код:
}

function mqfa1($sql, $pos=0){
if (strpos($sql,"show fields")===false && strpos($sql," limit ")===false) $sql.=" limit 1";
$a=mysql_fetch_row(mq("$sql"));
return $a[$pos];
}

function mqfa($sql){
if (strpos($sql,"show fields")===false && strpos($sql," limit ")===false) $sql.=" limit 1";
$a=mysql_fetch_assoc(mq("$sql"));
return $a;
}
function mqfaa($sql){
//if (strpos($sql,"show fields")===false && strpos($sql," limit ")===false) $sql.=" limit 1";
$a=mq("$sql");
$res = array();
while ($row = mysql_fetch_assoc($a)) {
$res[] = $row;
}

Помогите подсказкой или решением пожалуйста.
 
(я не знаю что эта ошибка от меня хочет)
Написано же.. функция mqfa1 второй раз определяется. Смотреть строки 48 и 52.. одно из определений функции убрать (временно закомментировать, если есть опасения)
 
Написано же.. функция mqfa1 второй раз определяется. Смотреть строки 48 и 52.. одно из определений функции убрать (временно закомментировать, если есть опасения)
Пробывал, и ничего не выходит. (до такого я бы додумался)
 
Код:
<?php
//if (strpos($_SERVER["PHP_SELF"], "ch.php")!==false) die;

$djs=array(3672, 5721, 8505, 5840, 5880, 7452, 5823, 8556, 1785, 12927, 7904);
if (1) {
//  define("IMGBASE","");
  define("IMGBASE","");
  define("IMGNUM","");
} else {
  define("IMGBASE","");
  define("IMGFN","_rm");
}

  define("title","«Бойцовский Клуб» - Бесплатная, браузерная онлайн игра");

if (!defined("INCRON")) define("INCRON", 0);

define("CHATROOT","");
  if (!defined("DOCUMENTROOT")) define("DOCUMENTROOT","");
define("APR1", 0);
define("LETTERQUEST", 0);

$smalladms=array();
Error_Reporting(E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR);
/*if (strpos($_SERVER["PHP_SELF"], "ch.php")===false) {
  echo "Ведутся технические работы, игра будет доступна примерно через 10 минут.";
  die;
}*/
    $mysql = mysql_connect("localhost","root","");
    if ($_SERVER['REMOTE_ADDR'] == 'localhost') {
        mysql_select_db ("bkwar", $mysql);  // ТУТ ИМЯ БАЗЫ
    } else {
        mysql_select_db ("bkwar", $mysql);  // ТУТ ИМЯ БАЗЫ
    }
    mysql_query("SET NAMES CP1251");


    foreach ($_POST as $k=>$v) {
        $_POST[$k] = htmlspecialchars(mysql_real_escape_string($v));
    }
    foreach ($_GET as $k=>$v) {
        $_GET[$k] = htmlspecialchars(mysql_real_escape_string($v));
    }
    foreach ($_REQUEST as $k=>$v) {
        $_REQUEST[$k] = htmlspecialchars(mysql_real_escape_string($v));
    }

  function mqfa1($sql, $pos=0){
    if (strpos($sql,"show fields")===false && strpos($sql," limit ")===false) $sql.=" limit 1";
    $a=mysql_fetch_row(mq("$sql"));
    return $a[$pos];
  } 

  function mqfa($sql){
    if (strpos($sql,"show fields")===false && strpos($sql," limit ")===false) $sql.=" limit 1";
    $a=mysql_fetch_assoc(mq("$sql"));
    return $a;
  }
  function mqfaa($sql){
    //if (strpos($sql,"show fields")===false && strpos($sql," limit ")===false) $sql.=" limit 1";
    $a=mq("$sql");
    $res = array();
    while ($row = mysql_fetch_assoc($a)) {
        $res[] = $row;
    }
    return $res;
  }
  function mqfr($sql){
    if (strpos($sql,"show fields")===false && strpos($sql," limit ")===false) $sql.=" limit 1";
    $a=mysql_fetch_row(mq("$sql"));
    return $a;
  }

  function mq($sql){
    $a=mysql_query($sql);
    return $a;
  }

  function remquotes($s) {
    $ret=str_replace('&','&amp;',$s);
    $ret=str_replace('"','&#34;',$ret);
    $ret=str_replace("'",'&#39;',$ret);
    $ret=str_replace(">",'&gt;',$ret);
    $ret=str_replace("<",'&lt;',$ret);
    return $ret;
  }

  function mnr($q) {
    return mysql_num_rows(mq($q));
  }


if(!function_exists("format_string")) {
function format_string(&$string)
  {
$string=str_replace("\\n","<BR>",$string);
$string = addslashes(preg_replace(array('/\s+/','/,+/','/\-+/','/\0/s','/%00/'), array(' ',',','-',' ',' '),trim(stripcslashes($string))));
$string=str_replace("<BR>","\\n",$string);
  return $string;
  }}
array_walk($_REQUEST,"format_string");
array_walk($_POST,"format_string");
array_walk($_GET,"format_string");

if(date("w")<6 && date("w")>0){
  define ("proc_exp", "200");
}else{
  define ("proc_exp", "400");
}
$vr_st = mysql_fetch_array(mysql_query("SELECT honorpoints FROM `users` WHERE `id` = 99 LIMIT 1;"));
if($vr_st['honorpoints']>0){
define("vrag", "on");
}else{
define("vrag", "off");
}
define("MEMCACHE_PATH", "data/memcache");
function trace() {
}
function debug($s) {
  $f=fopen("ot.txt", "ab+");
  fwrite($f, "$s\r\n");
  fclose($f);
}
define("SELLCOEF", "1");
//define("SELLCOEF", "0.6");
?>
 
Приведенный код никакой ошибки не выдаёт. Только что проверил.
Если у вас всё еще отображается такая ошибка - ищите описание функции mqfa1 где-то в других файлах (если таковые подключены).
 
Приведенный код никакой ошибки не выдаёт. Только что проверил.
Если у вас всё еще отображается такая ошибка - ищите описание функции mqfa1 где-то в других файлах (если таковые подключены).
Пожалуй я догадываюсь где именно, спасибо вам

тему можно закрывать
 
Последнее редактирование модератором:
Если у вас всё еще отображается такая ошибка - ищите описание функции mqfa1 где-то в других файлах (если таковые подключены).
Если функция дублируется в других файлах, текст ошибки будет другой.
Пробывал, и ничего не выходит. (до такого я бы додумался)
Не так/не там пробовал.
 
PHP не всегда даёт правильное описание ошибки, которое можно однозначно трактовать.
Помимо дублирования функции может быть еще и дублирования подключения файла с определением функции...

Для воспроизведеня ошибки как у ТС, попробуйте его код подключить дважды:
PHP:
<?php

include('code.php'); 
include('code.php');

Замечание к ТС: мог бы и сразу написать, что поиск по файлу/файлам на дублирование функции проводил - было бы меньше флуда в теме.
 
  • Нравится
Реакции: Nei
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху