2014-03-24 98 views
0
$sql= "SELECT team_name AS label, user_id as value 
FROM d_getreal_captains ORDER BY team_name ASC"; 
$result = $bfit_connect->query($sql); 
$rows = mysqli_fetch_assoc($result); 

while($rows = mysqli_fetch_assoc($result)) { 
    $json[] = $rows; 
} 

此代碼按預期工作,除非它不返回表中的第一條記錄(即第一個team_name和user_id)。我已經看到,其他人已經建議使用mysql_data_seek來重置行索引的修復,但我也知道這是不贊成使用,並希望我的修復程序正在使用當前的方法。感謝您的意見或建議。mysqli_assoc + json_encode不返回第一行

回答

0

你打電話給mysqli_fetch_assoc()在你的循環外彈出結果集的第一個結果。您並未在任何地方使用這些值,因此您可以安全地將其刪除。

$result = $bfit_connect->query($sql); 
$rows = mysqli_fetch_assoc($result); // <-- remove this 
+0

謝謝。我想如果我刪除了那一行,我將無法運行我的json循環,因爲我沒有$ rows變量;很愚蠢,因爲我發現我實際上已經定義了兩次。感謝您的及時回覆。 – user1944426

+0

沒有我的那麼快,但我想他肯定需要點:) –

0
$sql= "SELECT team_name AS label, user_id as value 
FROM d_getreal_captains ORDER BY team_name ASC"; 
$result = $bfit_connect->query($sql); 
//Here you used to take the first row out with mysqli_fetch_assoc, I removed this line 

while($rows = mysqli_fetch_assoc($result)) { 
    $json[] = $rows; 
}