= CURDATE(); "; // كان المعرّف يُدمج في نص الاستعلام مباشرةً — حقن SQL. try { $rideDbname = getenv('DB_RIDE_NAME') ?: 'rideDB'; $rideDbHost = getenv('DB_RIDE_HOST') ?: (getenv('DB_HOST') ?: 'mysql'); $rideUser = getenv('DB_RIDE_USER') ?: 'root'; $ridePass = getenv('DB_RIDE_PASS') ?: getenv('MYSQL_ROOT_PASSWORD') ?: ''; $dsnRide = "mysql:host=$rideDbHost;dbname=$rideDbname;charset=utf8mb4"; $options = [ PDO::ATTR_EMULATE_PREPARES => false, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, ]; $conRide = new PDO($dsnRide, $rideUser, $ridePass, $options); $stmt = $conRide->prepare($sql); $stmt->bindValue(':driver_id', $driver_id); $stmt->execute(); if ($stmt->rowCount() > 0) { $row = $stmt->fetchAll(PDO::FETCH_ASSOC); printSuccess($row); } else { printFailure("No wallet record found"); } } catch (PDOException $e) { http_response_code(500); echo json_encode(["status" => "error", "message" => "SQL Error: " . $e->getMessage()]); } ?>