Vous essayez de lier $litcode
mais vous avez CONCAT(language,'-',code)
. Vous avez 5 ?
dans votre requête mais vous essayez de lier 6 paramètres.
Remplacez votre code par ceci :
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();