PHP PDO - почему ошибка Invalid parameter number

Подскажите в чем ошибка? Пока не могу понять

$query = "INSERT INTO `source` (files, nme, hash, hashdat) VALUES (?,?,?,?) ON DUPLICATE KEY UPDATE files = files + :files, nme = nme + :nme, itermy = itermy +1;";
        $stmt = $pdo->prepare($query);
try {
    $pdo->beginTransaction();
  foreach ($source_array as $keys => $row)
  
  {     $stmt->bindParam(':files', $row['files'], PDO::PARAM_INT, 10);
        $stmt->bindParam(':nme', $row['nme'], PDO::PARAM_INT, 15);
        $stmt->bindParam(':hash', $row['hash'], PDO::PARAM_STR, 11);
        $stmt->bindParam(':hashdat', $keys, PDO::PARAM_STR, 20);
        $stmt->execute();
    }
    $pdo->commit();
}catch (Exception $e){
    $pdo->rollback();
    throw $e;
}

Выдает ошибку:

Fatal error: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: mixed named and positional parameters in C:\test.php


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