2011-03-25 76 views
0

我有以下的PHP,從MySQL查詢創建一些JSON。當有多個元素,即mysql_fetch_assoc> 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

您正在執行兩次提取操作,並且這可能會消耗您的第一行。 此代碼將正常工作:

$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

太棒了,真是一個數字!謝謝! – 2011-03-25 07:25:30

+0

@李阿姆斯特朗:可能除了給他謝謝,你應該接受他的答案,如果它的工作:) – 2011-03-25 07:28:12

+0

@李阿姆斯特朗......不客氣,但我也同意Sarwar:D – DhruvPathak 2011-03-25 07:30:47