- Como manual
estados,
getAttribute()
não são compatíveis comATTR_EMULATE_PREPARES
- Não deve haver escapatória com preparações nativas.
- Para verificar se você está no modo de emulação ou não, você pode usar a cláusula LIMIT com ligação lenta a> . Ele gerará um erro se a emulação estiver ativada.
- Seu principal problema é qualquer "erro de sintaxe" que você mencionou e você precisa resolvê-lo primeiro.
- Como Álvaro G. Vicario observou nos comentários, você não está usando declarações preparadas. Aparentemente é a raiz do problema. O PDO não "escapa" seus dados por si só. Ele pode fazer isso apenas se você estiver usando espaços reservados para representar seus dados na consulta. Você pode ler mais aqui