簡體   English   中英

將SQL查詢的值存儲在變量中

[英]Store values of SQL query in variables

我有一條SELECT SQL語句,其結果返回緯度,經度和距離(使用Haversine公式)。 現在,由於需要對結果進行進一步處理,因此需要將這些值存儲為PHP腳本中的變量。 誰能告訴我該怎么做?

這是我的SQL語句

更新

$query = $db->prepare("SELECT `Latitude`, `Longitude`, (6378160 * acos( cos( radians(:latitude) ) * cos( radians( Latitude ) ) * cos( radians( Longitude ) - radians(:longitude) ) + sin( radians(:latitude) ) * sin( radians( Latitude ) ) ) ) AS distance FROM `mytable` HAVING distance < :radius ORDER BY distance;");
// Assign parameters
$query->bindParam(':latitude',$newLatitude);
$query->bindParam(':longitude',$newLongitude);
$query->bindParam(':radius',$radius);

//Execute query
$query->execute();
$q   = $db->query($query);
$q->setFetchMode(PDO::FETCH_ASSOC);

// fetch
while($r = $q->fetch()){
  $eLatitude = $r->Latitude;
  $eLongitude = $r>Longitude;
  $distance = $r->Distance;
}

我更新了上面的PHP代碼。 這段代碼的語法正確嗎? 還是我做事的方式全錯了?

PDO :: FETCH_ASSOC:返回按列名手動索引的數組

while($r = $q->fetch()){
  echo $r['Latitude']. "\n"; //Or do what ever instead of echo
  echo $r['Longitude']. "\n";
  echo $r['Distance']. "\n";
}

ie XML
while($r = $q->fetch()){
  $node = $dom->createElement("marker");
  $newnode->setAttribute("lat",  $r['Latitude']);
  $newnode->setAttribute("lng",  $r['Longitude']);
  $newnode->setAttribute("distance",  $r['Distance']);
}

ie JSON
while($r = $q->fetch()){
  data[] = $r;
}

您可以使用

$queryresult = mysql_query("SELECT `Latitude`, `Longitude`, (6378160 * acos( cos( radians(:latitude) ) * cos( radians( Latitude ) ) * cos( radians( Longitude ) - radians(:longitude) ) + sin( radians(:latitude) ) * sin( radians( Latitude ) ) ) ) AS distance FROM `mytable` HAVING distance < :radius ORDER BY distance;");
if (!$queryresult) {
    echo 'Error ' . mysql_error();
    exit;
}
$resultrow = mysql_fetch_row($queryresult);

echo $resultrow[0];  // this will be latitude
echo $resultrow[1];  // this will be longitude

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM