Pokoušíte se svázat $litcode ale máte CONCAT(language,'-',code) . Máte 5 ? ve vašem dotazu, ale pokoušíte se svázat 6 parametrů.
Změňte svůj kód na tento:
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();