PHP: PDO não reconhece as variáveis.

17/10/2020

3

Percebi que meu PDO não tem reconhecido as variáveis que eu passo ao montar a minha query.
1. Estou montando a query em uma string e concatenando as variáveis;
2. Ao debugar a montagem da query percebo que ela é montada normalmente, com todos os dados que eu concatenei;
3. Ao rodar o execute na query ela ignora todas as variáveis da query;

ps: Já tentei fazer bind de diversas maneiras e nada funcinou.

$input = json_decode(file_get_contents("php://input"));
$primary_key = $input->id;
$dado1 = $input->dado1;
$dado2 = $input->dado2;

try {
        $query = $pdo->prepare('UPDATE tabela SET campo_$dado1 = $dado2 WHERE id = $primary_key');
        $result = $query->execute(   );
    } catch (PDOStatement $e) {
        return $e->getMessage();
    }


Algumas fatos:
Quando faço var_dump no prepare da query testo diretamente no bd a query é executada normalmente.
O erro que o PHP manda para o log é o seguinte:
<Exception: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE IDBANHO =' at line 1>

Versões:
PHP 7.4.3
MySQL Ver 8.0.21-0ubuntu0.20.04.4 for Linux on x86_64
PDO Driver MySQL mysqlnd 7.4.3



Alguém já teve algum problema parecido?
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar