Atualizando várias colunas da tabela MySQL usando arrays com PDO

Eu estou tentando mudar todas as minhas conexões MySQL do antigo mysql_query para PDOs. Estou tentando atualizar várias linhas e colunas de uma tabela MySQL usando matrizes diferentes e estou recebendo o seguinte erro:

[42000]: Erro de sintaxe ou violação de acesso: 1064 Você tem um erro na sua sintaxe SQL; verifique o manual que corresponde à sua versão do servidor MySQL para a sintaxe correta para usar valores próximos a '(accnt, car, radio, misc) (' admin ',' 300.00 ',' 400.00 ', '10 .00') WHERE ID 'na linha 1

Do código a seguir:

$account = $_POST['account'];
$car_lease = $_POST['car_lease'];
$radio_lease = $_POST['radio_lease'];
$misc_lease = $_POST['misc_lease'];
$lease_ID = $_POST['lease_ID'];

//$data = array_map(null,$account,$car_lease,$radio_lease,$misc_lease);
$A = count($lease_ID);

try {
    $DBH = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
    $DBH->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
    $STH = $DBH->prepare('UPDATE lease (accnt, car, radio, misc) values (:account, :car_lease, :radio_lease, :misc_lease) WHERE ID = :lease_ID');
    $i = 0;
    while($i < $A) {
        $STH->bindParam(':account', $account[$i]);
        $STH->bindParam(':car_lease', $car_lease[$i]);
        $STH->bindParam(':radio_lease', $radio_lease[$i]);
        $STH->bindParam(':misc_lease', $misc_lease[$i]);
        $STH->bindParam(':lease_ID', $lease_ID[$i]);
        $STH->execute();
        $i++;
    }
}
catch(PDOException $e) {  
    echo "I'm sorry, but there was an error updating the database.";  
    file_put_contents('PDOErrors.txt', $e->getMessage(), FILE_APPEND);
}

Eu acredito que esse problema está surgindo da maneira como estou chamando o manipulador de instrução, mas não tenho certeza de qual parte da minha sintaxe está incorreta. Além disso, esta é a melhor maneira de lidar com tais situações? Ou existe um método melhor para atualizar várias linhas em uma tabela?

questionAnswers(4)

yourAnswerToTheQuestion