Tenho certeza de que você pode melhorar seu código removendo seu loop while e, em vez disso, vá como:
$data = $stmt->fetchAll(PDO::FETCH_OBJ);
Você tem certeza de que está recebendo o JSON esperado (tentei qualquer var_dump de $data antes de imprimi-lo?) ?
Não é apenas um problema simples com JavaScript? Você tentou usar os dados que deveria obter na sua parte JavaScript?
Pode ser um problema de configuração de cabeçalhos dentro do seu XMLHttpRequest, e o JavaScript não se importa e fornece o JSON de qualquer maneira ...
Agora perguntas óbvias:
- Não consigo ver onde você se conecta ao seu banco de dados. Você está conectado?
- Você está tentando inserir um ID, o MySQL permite INSERT valor de incremento automático? (nesse caso, acc_id não é um Int?)
- Você está enviando valores por meio de $_REQUEST, tem certeza de que está recebendo algo por meio de $_REQUEST (aliás, verifique $_GET e $_POST)
Espero que ajude