我運行一個PHP腳本以下查詢:PHP/MySQL的缺失的行上查詢
$radius_query = "SELECT zip, (3959 * acos(cos(radians(" . $latitude .")) * cos( radians(lat)) * cos(radians(lng) - radians(" . $longitude . ")) + sin(radians(" . $latitude .")) * sin(radians(lat)))) AS distance
FROM ZIP HAVING distance < ". $radius;
$radius_result = $db_zipcode->query($radius_query);
if (!$radius_result){
echo 'Could not run query: ' . mysql_error();
exit;
}
$row = $radius_result->fetch(PDO::FETCH_ASSOC);
While($row = $radius_result->fetch(PDO::FETCH_ASSOC))
{
$zip[] = $row['zip'];
}
foreach ($zip as $zip_display){
echo $zip_display . ", " . '';
}
本身的工作原理與一個小錯誤查詢 - 它不會返回數據的第一行。它應該返回一個郵政編碼列表與此類似:
40324,40339,40340,40347,40356 ...
這是結果我得到當我運行在phpMyAdmin相同的查詢。
但是,當我在PHP腳本中運行上述查詢時,結果集以40339開頭,然後包含所有剩餘的郵政編碼。它不是一個里程問題(即缺少的zip在半徑範圍內 - 就像我在phpMyAdmin中運行查詢時顯示的那樣)。
我在錯誤的PHP查詢中錯過了第一行數據?它不僅僅是一個顯示問題,因爲當我將查詢結果插入到數據庫中時,它也會丟失第一行。
謝謝!
你在列表中獲得'40339',所以也許是訂單或? –