我有一行代码将数据从数据库转换为JSON。唯一的问题是我的代码似乎丢掉了第一条记录。任何想法为什么。
$return_arr = Array();
$query_qrySelect = "SELECT * FROM table";
$qrySelect = mysql_query($query_qrySelect, $database) or die(mysql_error());
$row_qrySelect = mysql_fetch_assoc($qrySelect);
$totalRows_qrySelect = mysql_num_rows($qrySelect);
while ($row = mysql_fetch_array($qrySelect, MYSQL_ASSOC)) {
array_push($return_arr,$row);
}
echo json_encode($return_arr);
答案 0 :(得分:2)
这一行:
$row_qrySelect = mysql_fetch_assoc($qrySelect);
是您“丢失”数据的地方。
答案 1 :(得分:1)
因为您致电mysql_fetch_assoc
并且从不在任何地方使用结果($row_qrySelect
从未使用过)。
根据manual:
返回与获取的行对应的关联数组,并向前移动内部数据指针。 mysql_fetch_assoc()等效于使用MYSQL_ASSOC调用mysql_fetch_array()作为可选的第二个参数。它只返回一个关联数组。