2012-04-27 64 views
1

我一直在使用AMFPHP和闪存的项目。我只做了PHP的东西。 amf中的一个函数从3个表中获取结果并将其结果存储在1个数组中,并返回完美,但几天后它已停止。奇怪的是,如果我单独返回结果,它们将工作,但最终数组永远不会返回,并且无法在其测试浏览器中看到来自AMFPHP调用的任何响应。amf php不返​​回multidimention数组

在代码中,我已经提到,每个点都从DB获得正确的结果,并且已经从其正确的重新调整结果进行了测试。

另一件事似乎很奇怪的是,我返回了部分结果来罚款,但在他开始和结束thier的东西是不适合的其它功能工作:

(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远程调用? – 2012-04-28 21:52:35

+0

另外我会建议将Actionscript类映射到PHP类 – 2012-04-28 21:53:27

回答

1

好了,我得到了答案..

只是张贴在这里的人面临着同样的问题

刚修改过的线

return $defaultValues; 

return (object)$defaultValues; 

and calle d这样

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

不知道为什么,这是这些变化的工作很好,因为它是在过去的正常工作没有任何变化的功能。如果任何人都可以解释这对我和任何其他用户来说都是好事。

关注