2011-03-25 5 views
0

MySQLクエリからJSONを作成する次のPHPがあります。これは2つ以上の要素、すなわちmysql_fetch_assoc> 1が存在する場合にうまく動作しますが、1 = 1の場合は何も動作せずデバッグするので、whileループ内のecho文は呼び出されません。MYSQL mysql_fetch_assocが返ってこないうちに= 1

これまで何がありましたか?

$byFlight = mysql_query($query_byFlight, $pfArchiveDB) or die(mysql_error()); 
$row_byFlight = mysql_fetch_assoc($byFlight); 
//$totalRows_byFlight = mysql_num_rows($byFlight); 
//echo ($query_byFlight); 
$flights = array(); 
if(mysql_num_rows($byFlight)) { 
    while($flight = mysql_fetch_assoc($byFlight)) { 
     $flights[] = array('flight'=>$flight); 
    } 
} 
header('Content-type: application/json'); 
echo json_encode(array('flights'=>$flights)); 

答えて

3

フェッチを2回実行すると、おそらく最初の行が消費されます。 このコードは正常に動作します:

$byFlight = mysql_query($query_byFlight, $pfArchiveDB) or die(mysql_error()); 

//$row_byFlight = mysql_fetch_assoc($byFlight); // <---- COMMENTED THIS FETCH 

//$totalRows_byFlight = mysql_num_rows($byFlight); 
//echo ($query_byFlight); 
$flights = array(); 
if(mysql_num_rows($byFlight)) { 
    while($flight = mysql_fetch_assoc($byFlight)) { 
     $flights[] = array('flight'=>$flight); 
    } 
} 
header('Content-type: application/json'); 
echo json_encode(array('flights'=>$flights)); 
+0

素晴らしいですね!ありがとう! –

+0

@リーアームストロング:もし彼が働いたら、彼は答えを受け入れるべきである: –

+0

@リーアームストロング...あなたは歓迎ですが、私はまたSarwarに同意します:D – DhruvPathak

関連する問題