2012-07-22 3 views
0
for($i=0;$cast_row = mysql_fetch_array($res);$i++) 
{ 
    $cast['id'][] = $cast_row['user_id']; 
    $cast['role'][] = $cast_row['role']; 
    $cast['role_name'][] = $cast_row['role_name']; 
    $cast['is_approved'][] = $cast_row['is_approved']; 
    $cast['movie_id'][] = $cast_row['movie_id']; 
} 
for($i=0;$i<count($cast['id']);$i++) //LINE 31 
{ 
    $output .= "<tr>"; 
    $mname = getMovieNameById($m_id); 
    $output .= "<td><a href='single.php?id=$m_id'>$mname</a></td>"; 

    $aname = getArtistNameById($cast['id'][$i]); 
    $output .= "<td><a href=project.php?id={$cast['id'][$i]}>$aname</a></td>"; 
} 

이 코드는 웹 서버에서 잘 작동하지만, 발생 오류 (통지) 로컬 호스트에서 실행PHP 코드 웍하지만

공지 사항 로컬 호스트에 오류가 발생합니다 wamp \ www \ Tinyflick \ managemovie.php on line 31

어떤 문제가있을 수 있습니까? 나머지 코드는 잘 작동하는 것 같다.

+4

오류보고 수준이 웹 서버와 비교하여 로컬 호스트에서 다를 수 있습니다. – gunnx

+0

그럴 수도 있지만 로컬 데이터베이스에 모든 열이 있는지 확인 했습니까? –

+0

localhost에서 mysql을 올바르게 설정 했습니까? – madfriend

답변

1

일종의 어리석은 실수입니다. 해결되었습니다. nico의 의견 덕분에

localhost의 오류보고 수준이 서버의 오류보고 수준과 다릅니다. 트릭을 변경하면됩니다. 다음 코드는

error_reporting(E_ALL) 

경고는 일반적으로 프로덕션 서버에서 사용할 수있는 모든 오류 및 경고를 표시합니다. 자세한 내용은 documentation of the said function

0

나는 mysql 결과가 단지 비어 있다고 생각한다! :) 돌아 오는 행의 콘텐츠를 덤프 해보세요.

BTW,이 같은 일을하여 코드를 improove 수 :

while($row = mysql_fetch_array($res)) { // iterates as long there is content 
    //do something with the $row... like your second for block! ;) 
} 
+0

아니요, 결과가 검색되고 에코 상태가되지만 경고가 표시됩니다. – Abhijith

0

가 제대로 데이터베이스에서 데이터를 가져 오는하지 않는 한 $cast array가 비어있는 것으로 나타났다.

서버에서 오류보고가 해제되어 있으면 오류가 표시되지 않습니다.

대신에 루프를 사용하여 데이터베이스에서 가져온 데이터를 반복합니다.

$cast = array(); 
while($row = mysql_fetch_array($res)) { 
    $cast['id'][] = $row['user_id']; 
    $cast['role'][] = $row['role']; 
    $cast['role_name'][] = $row['role_name']; 
    $cast['is_approved'][] = $row['is_approved']; 
    $cast['movie_id'][] = $row['movie_id']; 
} 

그런 다음 for 루프를 실행할 수 있습니다.

$cast = array('id'=>array(), 'role'=>array(), 'role_name'=>array(), 'is_approved'=>array(), 'movie_id'=>array()); 

변수를 초기화 :

+1

데이터가 데이터베이스에서 페치되고 올바르게 표시됩니다.경고는 나를 괴롭 히고있다 – Abhijith

+0

당신은'var_dump ($ cast)'하고 무엇이 인쇄되고 있는지 보여줄 수 있습니까? –

+0

배열 'ID'=> 배열 0 => 문자열 '1'(길이 = 1) 의 역할 '=> 배열 0 => 문자열'액션 '(길이 = 6) 'ROLE_NAME '=> 배열 0 => 'movie_id'문자열 'MAN'(길이 = 3) => 배열 0 => 문자열 '0'is_approved '(1 = 길이) => 배열 0 => 문자열' 252YZ5gY34 '(길이 = 10) – Abhijith

0

나는 당신이 그 통지를 supress하려는 경우, 루프 전에 다음 줄을 추가하는 것이 같아요.