prepare("UPDATE geo_waypoints SET lat=?, lon=? WHERE wp_key=?"); $log = []; foreach ($corrections as [$key, $lat, $lon, $note]) { $before = $db->prepare("SELECT lat, lon FROM geo_waypoints WHERE wp_key=?"); $before->execute([$key]); $old = $before->fetch(); $stmt->execute([$lat, $lon, $key]); $log[] = [ 'wp_key' => $key, 'note' => $note, 'old' => $old ? [(float)$old['lat'], (float)$old['lon']] : null, 'new' => [$lat, $lon], 'rows_updated' => $stmt->rowCount(), ]; } header('Content-Type: application/json; charset=utf-8'); echo json_encode(['ok' => true, 'applied' => count($log), 'log' => $log], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);