2013-05-12 4 views
0

현재 Flight Portal에서 작업 중입니다. 두 페이지 (Search.php, Result.php)가 있다고 가정합니다. 우리가 journey..etc의 소스, 목적지, 날짜를 선택합니다 검색 페이지에서 데이터가 데이터베이스에 삽입되지 않습니다.

.이 Result.php과로 리디렉션됩니다 검색 버튼 페이지를 클릭 한 후

을 (이제 우리는 검색 버튼을 클릭합니다) 결과가 표시됩니다.

페이지에 결과를 표시하기 전에 다음과 같이 해당 결과를 데이터베이스에 삽입하려고합니다.

$q=0; 
foreach($array_data['AvailResponse']['OriginDestinationOptions']['OriginDestinationOption'] as $main) 
{ 
    $basefare[$q]=$array_data['AvailResponse']['OriginDestinationOptions']['OriginDestinationOption'][$q]['FareDetails']['ActualBaseFare']; 
    $tax[$q]=$array_data['AvailResponse']['OriginDestinationOptions']['OriginDestinationOption'][$q]['FareDetails']['Tax']; 
    $stax[$q]=$array_data['AvailResponse']['OriginDestinationOptions']['OriginDestinationOption'][$q]['FareDetails']['STax']; 
    $tcharge[$q]=$array_data['AvailResponse']['OriginDestinationOptions']['OriginDestinationOption'][$q]['FareDetails']['TCharge']; 
    $scharge[$q]=$array_data['AvailResponse']['OriginDestinationOptions']['OriginDestinationOption'][$q]['FareDetails']['SCharge']; 
    $totalfare[$q]=$basefare[$q]+$tax[$q]+$stax[$q]+$tcharge[$q]+$scharge[$q]; 
$s=0; 

foreach($array_data['AvailResponse']['OriginDestinationOptions']['OriginDestinationOption'][$q]['onward']['FlightSegments']['FlightSegment'] as $array) 
{ 
     $z1=$flightnumber[$q][$s]=$array['FlightNumber']; 
     $z2=$departureloc[$q][$s]=$array['DepartureAirportName']; 
     $z3=$departurecode[$q][$s]=$array['DepartureAirportCode']; 
     $z4=$arrivalloc[$q][$s]=$array['ArrivalAirportName']; 
     $z5=$arrivalcode[$q][$s]=$array['ArrivalAirportCode']; 
     $z6=$departuretime[$q][$s]=$array['DepartureDateTime']; 
     $z7=$arrivaltime[$q][$s]=$array['ArrivalDateTime']; 
     $z8=$airlinename[$q][$s]=$array['OperatingAirlineName']; 
     $z9=$airlineflightnumber[$q][$s]=$array['OperatingAirlineFlightNumber']; 
     $z10=$airlinecode[$q][$s]=$array['OperatingAirlineCode']; 


     echo $mysql_query="insert into RviewInternationalFlight (q,s,FlightNumber,OperatingAirlineName,OperatingAirlineFlightNumber,OperatingAirlineCode,DepartureAirportName,DepartureAirportCode,ArrivalAirportName,ArrivalAirportCode,DepartureDateTime,ArrivalDateTime,ip) values('$q','$s','$z1','$z2','$z3','$z4','$z5','$z6','$z7','$z8','$z9','$z10','$ip' 
)"; 


     mysql_query($mysql_query) or die(mysql_error()); 

$s++; 
} 
$q++; 
} 

잘 작동해야하지만 오류가 발생합니다. MySQL server has gone away.

페이지 상단에 나는 데이터베이스에 연결 중입니다. 하지만 여전히 그 오류가오고있는 이유는 ...

제안 사항 ...?

감사합니다.

+0

Google에서 오류 메시지를 봤습니까? 결과는 당신에게 몇 가지 지침을 제공해야합니다. –

+1

링크를 확인하십시오. http://dev.mysql.com/doc/refman/5.0/en/gone-away.html –

+0

엽서를 보내달라고 요청 했습니까? loljk na 나는 한 번이 문제가 있었는데 사용중인 서버가 MySQL의 사용되지 않는 버전을 사용하고 있다는 것을 알게되었습니다. 간단한 업데이트가 수정되었습니다 –

답변

0

서버 연결 시간이 초과되어 연결이 닫혔습니다. 기본적으로 8 시간 후에 연결 시간이 초과됩니다. 그렇게 오랫동안 열어 두었다면, 아마도 좋은 계획이 아닙니다. See @JohnBlake comment.

+0

실제로 모든 검색에 대해 데이터베이스가 연결됩니다. 연결을 끊을 가능성은 없습니다. –

+1

8 시간은 스크립트가 맨 위부터 질문에 게시 된 코드 스 니펫까지 실행되는 데 오랜 시간이 걸립니다. 그러나 mysql_ping()을 사용하여 연결을 확인하고 필요한 경우 자동으로 다시 연결할 수 있습니다. – Lukas

+0

@Sreeram 나는 내 대답을 이해하지 못한다고 생각합니다. 연결 시간이 초과되었습니다. 그 오류를 얻을 수있는 유일한 방법입니다. – imulsion

관련 문제