표 결과를 필터링하고 lon 및 lat 좌표로 정렬하려고하지만 사용중인 코드에 오류가 발생했습니다. 다음은 코드입니다. 그러나 주문에 올바른 계산 방법을 사용하고 있는지 확실하지 않습니다. 사람이 도와주세요 수 :lon/lat 좌표로 PHP/SQL 결과 정렬
$keyword = //From Form Input
$lon = //From Form Input
$lat = //From Form Input
$filter = //From Form Input
$radius = 6371;
//$get_result_sql = "SELECT * FROM members WHERE type = '$filter' AND name LIKE '%$keyword%'";
$get_result_sql = "SELECT * FROM members WHERE type = '$filter' AND name LIKE '%$keyword%' ORDER BY acos(sin($lat) * sin(lat) + cos($lat) * cos(lat) * cos(lon - ($lon))) * $radius DESC";
$get_result_res = mysqli_query($con, $get_result_sql);
if(mysqli_affected_rows($con)!=0){ //and if atleast one record is found
while($result = mysqli_fetch_assoc($get_result_res)){//This line has the error
우선 입력 된 값을 쿼리의 모든 부분에서 직접 연결하지 마십시오. SQL Injection을 빠르게 검색하십시오. 명명 된/위치 지정 매개 변수를 대신 사용하십시오. – samuelgrigolato
둘째, "오류"에 대한 도움을 요청하는 경우 "오류 메시지"를 제공하는 것을 잊지 마십시오. 재미있게도, 때로는 문제를 해결하는 방법에 대한 단서가 있습니다. –
@samuelgrigolato 나는 그것을 보았다. 그러나 나는 아직도 당신이 의미하는 것을 얻지 못한다. 대신 어떤 코드를 사용해야합니까? – user2516546