Está intentando vincular $litcode
pero tienes CONCAT(language,'-',code)
. Tienes 5 ?
en su consulta, pero está intentando vincular 6 parámetros.
Cambia tu código a esto:
Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "UPDATE literatures set spot = ?, code = ?, language = ?, count = ?, litcode = ? WHERE id = ?";
$q = $pdo->prepare($sql);
$q->execute(array($spot,$code,$language,$count,$litcode,$id));
Database::disconnect();