2013-06-13 1 views
0

내가 내 PHP 환경에 어떤 이상한 문제를 가지고 추가 기계 반환이 : - getAllVotesOfGroup에서> 에코 코드 (1)PHP는 배열이 실패에 추가 참조

Array ([0] => Array ([ID] => 1 [group] => 1 [title] => Test [text] => Testabstimmung [time_start] => 2013-06-12 [time_end] => 2015-06-13)) 

Array ([0] => Array ([ID] => 2 [group] => 1 [title] => Test2 [text] => Testabstimmung [time_start] => 2014-06-13 [time_end] => 2012-06-16) [1] => Array ([ID] => 2 [group] => 1 [title] => Test2 [text] => Testabstimmung [time_start] => 2014-06-13 [time_end] => 2012-06-16)) 

Array ([0] => Array ([ID] => 3 [group] => 1 [title] => Test3 [text] => bla [time_start] => 0000-00-00 [time_end] => 0000-00-00) [1] => Array ([ID] => 3 [group] => 1 [title] => Test3 [text] => bla [time_start] => 0000-00-00 [time_end] => 0000-00-00) [2] => Array ([ID] => 3 [group] => 1 [title] => Test3 [text] => bla [time_start] => 0000-00-00 [time_end] => 0000-00-00)) 

Array ([0] => Array ([ID] => 4 [group] => 1 [title] => Test4 [text] => blub [time_start] => 0000-00-00 [time_end] => 0000-00-00) [1] => Array ([ID] => 4 [group] => 1 [title] => Test4 [text] => blub [time_start] => 0000-00-00 [time_end] => 0000-00-00) [2] => Array ([ID] => 4 [group] => 1 [title] => Test4 [text] => blub [time_start] => 0000-00-00 [time_end] => 0000-00-00) [3] => Array ([ID] => 4 [group] => 1 [title] => Test4 [text] => blub [time_start] => 0000-00-00 [time_end] => 0000-00-00)) 

당신은 이전 값이 $의 R은 참조입니다 problably 때문에, 교체 ​​만 참조가 광고입니다되어 볼 수 있듯이 배열에 실제 값이 아닌 값을 지정하십시오.

왜 그럴까요? 그 행동을 바꾸기 위해 php.ini 옵션을 설정할 수 있습니까?

추가 : 괜찮습니다. 하지만 난 그것을 http://www.php.net/manual/en/mysqli-stmt.fetch.php#83284

문제를 참조

;-) 해결할 수 ;-)

$result = array(); 

    while($r = $res->next()){       
     $result[] = array('title' => $r['title'],'text' => $r['text']); 
    }   
    return $result; 

확인을 원하는 것입니다하지 않은 mysqli - stmt를 페치 참조를하지 반환하는을 사용하여 메신저 데이터.

답변

0

코드는 내가 볼 수있는만큼 좋게 작동합니다 (뭔가 빠뜨린 것이 아니라면).

$ 결과 [] = $ r;

이 줄은 배열에 새 행을 추가하고 이전 값을 쓰지 않습니다. 솔직하게 말해서 나는 다른 서버가 당신에게 무엇을 돌려 주는지 질문 할 것이다.

+0

미안하지만 피터는 내가 말한 것을 얻지 못했습니다. 문제는/그 배열이 동일한 값으로 반복해서 채워져 있다는 것입니다. 그것은 $ res-> next()가 mysqli-prepare 때문에 참조를 리턴하기 때문이다. 어쨌든 고마워 ;-) – Dornhoeschen

+0

아, 죄송합니다. 두 컴퓨터 각각에 어떤 버전의 PHP가 있습니까 – Peter

+0

둘 다 PHP 5.3.3 -> 지금까지는 실제로 mysql-> mysqli의 포팅 오류보다 구성상의 문제인지 잘 모르겠다 ;-) – Dornhoeschen