나는 내 마음을 잃어 가고 있다고 생각합니다.PHP - PDO 루프 반입
이것은 코드입니다. (내가 실제로 점을 증명하기 위해해야 할 노력하고 무엇의 단순화 된 버전입니다.)
$STH = $DBH->query("SELECT * FROM help");
$STH->setFetchMode(PDO::FETCH_ASSOC);
while($row = $STH->fetch()) {
echo $row['text'];
$help_text = $row['text'];
}
echo "->";
echo $help_text;
echo "<-";
핸들 DBH를 사용하여 DB는 MySQL에 대한 DB 연결이 괜찮습니다 (나열되지 않음). 쿼리가 제대로 작동합니다. 루프 내의 $row['text']
의 에코는 여러 번 올바르게 작동합니다. 그러나 ->
과 <-
사이의 $help_text
의 메아리는 아무 작업도 수행하지 않으므로 -><-
이 표시됩니다. 에코가 $row['text']
의 마지막 인스턴스를 표시 할 것으로 기대합니다.
왜 작동하지 않습니까?
당신이 마지막 행이 비어있는 경우이 쿼리가 반환 될 때, 다음 help_text 내가 아주 분명 뭔가가있어 너무 – SergeS
하지 않는 비어 있습니다 무엇을 우리에게 보여줄 수있는 루프 외부로 선언해야 당신의 코드에는'$ help_text'가 설정되어 있지 않습니다. 문제는 다른 곳에서 발생해야합니다. 또한'var_dump()'를 사용하여 평범한'echo'보다는 값을 검사하십시오. –
오프 토픽 :'PDOStatement'는 [Traversable'] (http://php.net/Traversable)을 구현하므로 foreach 루프를 사용하여 결과를 반복 할 수 있습니다 : foreach ($ STH as $ row) {...}'. – outis