Nicht in der Nähe eines Terminals zum Überprüfen, aber ich glaube, Sie müssen bind it to INT eingeben und als INT senden, nicht als "b010101" (oder was auch immer):
$sql='INSERT INTO test(id,data) VALUES(:id,:bit)';
$stmt=db::db()->prepare($sql);
$stmt->bindValue('id', null, PDO::PARAM_NULL);
$stmt->bindValue('bit', (int)$value, PDO::PARAM_INT);
$stmt->execute();
Eine schnelle Überprüfung bei Google brachte diese ähnliche vorherige Antwort hervor .