= :first_day_total AND `ride`.created_at < :last_day_total AND `ride`.`status` = 'Finished' ) AS totalPrice, ( SELECT COUNT(`ride`.`id`) FROM `ride` WHERE `ride`.`driver_id` = :driver_id_count AND `ride`.`created_at` >= :first_day_count AND `ride`.created_at < :last_day_count AND `ride`.`status` = 'Finished' ) AS totalCount FROM `ride` WHERE `ride`.`driver_id` = :driver_id_main AND `ride`.`created_at` >= :first_day_main AND `ride`.created_at < :last_day_main AND `ride`.`status` = 'Finished' GROUP BY day ORDER BY day ASC;"; $stmt = $con->prepare($sql); // Bind each parameter uniquely $stmt->bindParam(':driver_id_total', $driver_id, PDO::PARAM_STR); $stmt->bindParam(':first_day_total', $first_day_of_month, PDO::PARAM_STR); $stmt->bindParam(':last_day_total', $last_day_of_month, PDO::PARAM_STR); $stmt->bindParam(':driver_id_count', $driver_id, PDO::PARAM_STR); $stmt->bindParam(':first_day_count', $first_day_of_month, PDO::PARAM_STR); $stmt->bindParam(':last_day_count', $last_day_of_month, PDO::PARAM_STR); $stmt->bindParam(':driver_id_main', $driver_id, PDO::PARAM_STR); $stmt->bindParam(':first_day_main', $first_day_of_month, PDO::PARAM_STR); $stmt->bindParam(':last_day_main', $last_day_of_month, PDO::PARAM_STR); $stmt->execute(); $car_locations = $stmt->fetchAll(PDO::FETCH_ASSOC); if ($car_locations) { // Print the car location data as JSON jsonSuccess($data = $car_locations); } else { // Print a failure message jsonError($message = "No car locations found"); } ?>