2011-05-14 4 views
-2

메신저 PHP 에서이 코드를 실행json 출력하지 않음

while ($row = mysql_fetch_array($result)) 
{ 
    $arr = array("joke" => $row['joke'], "date" => $row['date'], "rating" => $row['rating']);  
    echo json_encode($arr); 

} 

하지만 출력이 없습니다. 나는 PHP 5.3.6을 실행 중입니다

어떤 아이디어?

+0

더 많은 정보가 필요합니다. 그 코드는 ('$ row'를 적절하게 정의한다면) 작동해야합니다. – icktoofay

+0

나는 그 obvs가 ... 변경을했다고 생각했다. – SuperString

+0

SQL 쿼리가 아무 것도 반환하지 않습니다. 게다가 루프에서 여러 JSON 스 니펫을 출력 할 수는 없습니다. 결국 잘못된 직렬화가 끝날 것입니다. – mario

답변

0

nvm 알아 냈습니다. 이 작업을 수행하는 방법은 sql2json을 사용하는 것입니다.

0

쿼리가 실패했을 가능성이 큽니다. 구문 오류 또는 일치하는 항목이 없기 때문입니다. 그것은 다음과 같이 보입니다 있도록 코드를 다시 실행 :

$sql = "..."; 
$result = mysql_query($sql) or die(mysql_error()); 

$data = array(); 
while($row = mysql_fetch_assoc($result)) { 
    $data[] = $row; 
} 

echo json_encode($data); 

쿼리의 나쁜이 오류가 발생하면 사건을 처리 할 or die 부분. $ data를 빈 배열로 설정하면 처음에는 빈 자바 스크립트 배열 일지라도 json_encode에서 아무것도 얻지 못하게됩니다. 그리고 while 루프는 쿼리 결과와 stuff를 $ data 배열에 넣습니다.

관련 문제