prepare("UPDATE `ride` SET `status` = :status, `driver_id` = :driverId, `rideTimeStart` = NOW() WHERE `id` = :id AND `status` IN ('waiting', 'wait') "); $stmtRideRemote->execute([ ':status' => $status, ':driverId' => $driverId, ':id' => $rideId ]); $count = $stmtRideRemote->rowCount(); error_log("ℹ️ [accept_ride.php] Remote DB Rows Affected: $count"); // نتحقق: هل نجح التحديث في سيرفر التتبع؟ if ($count > 0) { // --------------------------------------------------------- // 2. التحديث على السيرفر الرئيسي (تثبيت السجل فقط) // --------------------------------------------------------- error_log("🔄 [accept_ride.php] Remote success. Updating LOCAL Main DB..."); $sqlUpdate = "UPDATE `ride` SET `driver_id` = :driverId, `status` = :status, `rideTimeStart` = NOW() WHERE id = :rideId AND `status` IN ('waiting', 'wait') "; $stmtUpdate = $con->prepare($sqlUpdate); $stmtUpdate->bindParam(":driverId", $driverId); $stmtUpdate->bindParam(":status", $status); $stmtUpdate->bindParam(":rideId", $rideId); $stmtUpdate->execute(); error_log("✅ [accept_ride.php] Ride accepted and started successfully for Driver: $driverId"); jsonSuccess(null, "Ride accepted and started successfully at " . date('Y-m-d H:i:s')); } else { error_log("⚠️ [accept_ride.php] Failed to accept ride. It might be already taken, canceled, or invalid status."); jsonError("Ride cannot be accepted (Already taken, Canceled, or Invalid Status)."); } } catch (PDOException $e) { error_log("❌ [accept_ride.php] Database Error: " . $e->getMessage()); jsonError("Database Error: " . $e->getMessage()); } ?>