pdo Не работает insert запрос к БД

Пишу бота в телеграм (предлагает пройти анкету) на вебхуках. state - это позиция человека по анкете, нужная мне (число от 0 до 6). Табличка в базе устроена до жути просто - там данные человека, от chatid, до желаемой профессии. Как вы видите, я делаю построчный возврат полученных элементов в нужных мне местах. Все, что выводит мне бот в трассировке - это "state после селекта =" (Таблица пока пустая). Проблема - Не выполняется INSERT на PDO (Код в комментарии на процедурном стиле работает)

$sth = $db->prepare('SELECT state FROM users WHERE chatid=?');
$sth->execute(array($chat));
$state = $sth->fetch();

$telegram->sendMessage([ 'chat_id' => $chat, 'text' => 'state после селекта = '.$state  ]); //

file_put_contents($chat.'.txt', $text . PHP_EOL, FILE_APPEND);

if (empty($state))
{
    $state = '0';
 /*   $sql = "INSERT INTO users SET state ='".$state."', chatid = '".$chat."'   ";
    $query = mysqli_query($bd,$sql);  
    if ($query)
    {
       $telegram->sendMessage([ 'chat_id' => $chat, 'text' => 'sql = '.$sql  ]);
    }
else{
    $telegram->sendMessage([ 'chat_id' => $chat, 'text' => 'sql = '.$sql  ]);
}*/

$sql = "INSERT INTO users (chatid,state) VALUES (?,?)";
$pdo->prepare($sql)->execute([$chat,$state]);


}

$telegram->sendMessage([ 'chat_id' => $chat, 'text' => 'state  = '.$state  ]); //




Ответы (1 шт):

Автор решения: Сергей

Как верно заметил @mike я подключил базу как $db, а обращался к ней как $pdo, правильное обращение исправило проблему.

→ Ссылка