Zacznij od debugowania rzeczywistego wyniku z bazy danych.
if (isset($_REQUEST['customer_id'])) {
$id = intval($_REQUEST['customer_id']);
$query = "SELECT * FROM customers WHERE customer_id=:id";
$stmt = $pdo->prepare( $query );
$stmt->execute(array(':id'=>$id));
$row=$stmt->setFetchMode(PDO::FETCH_ASSOC);
NIE sprawdzasz błędów.
Dwie sugestie:
1) Używasz <?php echo $row['first_name'];?>
. Jeśli sprawdziłeś zestaw wyników, możesz zobaczyć, co jest w tym nie tak. Po prostu wypisz wynik w (błędnie nazwanej) zmiennej $row za pomocą funkcji print_r() i tym podobnych. Jestem pewien, że zobaczysz, co poszło nie tak.
2) Zdecydowanie odradzam używanie $_REQUEST. Jest leniwy i podatny na błędy. Czy wiesz, skąd pochodzi identyfikator „customer_id”? Sesja? Ciastko? POCZTA? Lub dostać? Jeśli przekazujesz informacje przez GET => użyj GET