2012-04-27 5 views
1

AMFPHP 및 플래시를 사용하는 프로젝트에서 작업했습니다. 나는 PHP 물건 만했다. 3 개의 테이블에서 결과를 얻고 1 개의 배열과 결과로 결과를 저장하는 amf의 함수는 완벽하게 작동했지만 며칠 동안은 중단되었습니다. 이상한 점은 결과를 개별적으로 반환해도 최종 배열은 반환되지 않으며 테스트 브라우저에서 AMFPHP 호출의 응답을 볼 수 없다는 것입니다.amf PHP가 다차원 배열을 반환하지 않습니다.

코드에서 나는 모든 포인트가 DB로부터 적절한 결과를 얻고 있고 그 결과를 적절하게 테스트했다는 것을 언급했다. 또 다른 한가지 이상한 것 같다

내가 돌아 부분 결과가 잘되어 있다는 것입니다하지만 그는 시작 및 종료, 자신의이 작업하는 다른 기능에없는 뭔가에 :

(mx.collections::ArrayCollection)#0 
    filterFunction = (null) 
    length = 6 
    list = (mx.collections::ArrayList)#1 
    length = 6 
    source = (Array)#2 

결과

uid = "8BEDEF32-4BED-E1A4-56A0-F227EDD40026" 
    sort = (null) 
    source = (Array)#2 
여기

함수

function getDefaultValuesForAvatarsLocal($jockey_type=NULL){ 
     $defaultValues = array(); 
     $sql = "SELECT * FROM default_values"; 
     $defaultBLValues = $this->db->query($sql); 
     $numRows = $this->db->num_rows($defaultBLValues); 
     if($numRows > 0){ 
      $defaultValues['BLP'] = $defaultBLValues; /* IF RETURN THIS GETS RESULT */ 
      if($jockey_type){ 
       $sql = "SELECT jockey_clothing_categories.type, jockey_clothing_items.* FROM jockey_clothing_items 
         JOIN jockey_clothing_categories 
         ON(jockey_clothing_items.category_id = jockey_clothing_categories.id) 
         WHERE jockey_clothing_items.is_default = 1 AND jockey_clothing_items.jockey_type = ". $jockey_type; 
       $defaultJockeyClothings = $this->db->query($sql); 
       $numRows = $this->db->num_rows($defaultJockeyClothings); 
      } 
      if($numRows>0){ 
       if($jockey_type){ 
        $defaultValues['DJC'] = $defaultJockeyClothings; /* IF RETURN THIS GETS RESULT */ 
       } 
       $sql = "SELECT horse_avatar_clothings_categories.type, horse_avatar_clothings_items.* FROM horse_avatar_clothings_items 
         JOIN horse_avatar_clothings_categories 
         ON(horse_avatar_clothings_items.category_id = horse_avatar_clothings_categories.id) 
         WHERE horse_avatar_clothings_items.is_default = 1"; 
       $defaultHorseClothings = $this->db->query($sql); 
       $numRows = $this->db->num_rows($defaultHorseClothings); 
       if($numRows>0){ 
        $defaultValues['DHC'] = $defaultHorseClothings; /* IF RETURN THIS GETS RESULT */ 
        #return $defaultValues; /* NOT RETUNING THE FINAL ARRAY FROM THIS POINT EITHER */ 
       }else{ 
#     return false; 
       } 
      }else{ 
#    return false;    
      } 
      #return 1333; 
      /* THE CONTROL COMES HERE PROPERLY BUT NOT RETUNING THE BELOW ARRAY BUT IS RETUNING ANY TEST TEXT 
       LIKE return "I AM HERE"; WILL RETURN THE TEXT PROPERLY 
      */ 
      return $defaultValues; 
     }else{ 
      return false; 
     } 
    } 
입니다

어떤 도움이 Reagrds

+0

AMFPHP 원격 호출을 어떻게 트리거하고 있습니까? –

+0

또한 Actionscript 클래스를 PHP 클래스에 매핑하는 것이 좋습니다. –

답변

1

음을 감상 할 수있다, 나는 대답을 얻었다 ..

그냥 같은 문제

에 직면 누군가를 위해 여기를 게시 그냥 라인을

return $defaultValues; 

에 수정
return (object)$defaultValues; 

및 calle d이 같은 기능

$defaultValues = (array)$this->getDefaultValuesForAvatarsLocal(); 

변경하지 않고 과거에 제대로 작동했기 때문에 이러한 변경 사항이 정상적으로 작동하는 이유는 알 수 없습니다. 누군가 나와 주변에있는 다른 사용자에게 좋을 것이라고 설명 할 수 있다면.

감사합니다.

관련 문제