2009-11-21 7 views
0

메신저이 오류 메시지가PHP 치명적인 오류 - 아무 생각

Fatal error: Cannot redeclare get_db_conn() (previously declared in `/home/maxer/domains/x/public_html/xmasapp/dbfuncs.php:21) in /home/maxer/domains/x/public_html/xmasapp/dbfuncs.php on line 24` 

을 얻는 이유는

function get_db_conn() { 
    $conn = mysql_connect($GLOBALS['db_ip'], $GLOBALS['db_user'], $GLOBALS['db_pass']); 
    mysql_select_db($GLOBALS['db_name'], $conn); 
    return $conn; 
} 

라인 (21)

$conn = mysql_connect($GLOBALS['db_ip'], $GLOBALS['db_user'], $GLOBALS['db_pass']); 

라인 (24)을 참조하는 코드를 것은 닫는 곱슬 기능의 대괄호

내 코드까지를 정리하려고 할 때까지 코드가 잘 작동, 나는 밖으로 "보기"코드의 대부분을 찢어 별도의 파일에 넣어하지만 당신은 가능성이 가장 높은 두 번 파일을 포함 시키거나이 포함되어

답변

3

어떤 논리를 변경하지 않은 각각 동일한 파일을 포함하는 파일.

당신은 include_once()를 사용하거나 할 때 등 어떤의 더 나은 구조를 설정하여 이러한 문제를 방지 할 수 있습니다.

편집

이 시도하고 당신의 설정을 포함하는 당신이 오류가 표시되는지 확인합니다.

echo "<pre>"; 
print_r(get_included_files()); 
echo "</pre>"; 

파일을 두 번 포함하거나 파일 두 개에 함수 정의가 있습니다.

+0

그러나 그 함수 선언의 후속 라인에 대한 오류를 덤프 왜 나는이 보이지 않습니까? 노력한 include_once 아무런 차이가 없었습니다 – chris

+0

그것을 좁혀 .. 내가 잘못된 폴더에 업로드 한 두 개의 색인 파일을했다. 덕분에 도움을 주셔서 감사합니다 – chris

1

이 파일은 포함 파일입니까? includes 파일이 두 번 이상 포함됩니까?

get_db_conn 번 이상 정의, 당신은 두 개의 서로 다른 장소에서 그 기능이없는 경우가 여러 번 포함하기 가장 가능성이 있기 때문에 불평.

+0

파일이 한 번만 포함되어있는 것을 보았습니다. 모든 db functiosn이 하나의 파일에 포함되어 있으며 기본 index.php에 포함되어 있습니다 .- 그곳에서 갇혀있는 Ólafur 조언 include_once하지만 차이는 없습니다. – chris

1

귀하의 오류 메시지가 말한다 :

) (get_db_conn 재 선언 할 수 없습니다 (이전에 [...]/dbfuncs.php에 선언 : 21) [...]/dbfuncs.php 라인 (24)

당신이 기능을 사용하면 여러 번 선언하는 get_db_conn() 이름이있다. dbfuncs.php 파일이 포함되어 있습니까?

0

동일한 파일을 두 번 이상 include 할 수 있습니다. 이런 이유로 나는 가능할 때마다 include_once()를 사용하고자한다.

0

당신은 동일한 이름을 가진 두 개의 함수를 선언 (두라고 get_db_conn())