Buonasera,

sono dovuto passare da php 7.4 a php 8.2 e sto avendo dei problemi con delle query che estraggono un solo elemento da una tabella. Purtroppo ne ho tante e prima di modificarle tutte vorrei capire se posso risolvere diversamente. Ho postato il codice che ho sempre usato (che ora non funziona più) ed il codice alternativo che funziona.

codice:
$nota_id = "10";

// funzionava con php 7.4 ma con php 8.2 non funziona più
$stmt_note = $connection->prepare("SELECT * FROM tbl_ASSISTENZE_note WHERE id = '".$nota_id."'");
$stmt_note->execute(array(':nota_id' => $nota_id));
$data_note = $stmt_note->fetch(PDO::FETCH_ASSOC);


$note = $data_note ['note'];
$mese = $data_note ['mese'];
        


// metodo alternativo funzionante con php 8.2
try {
    $data_note = $connection->query("SELECT * FROM tbl_ASSISTENZE_note WHERE id = '".$nota_id."'")->fetchAll();
} catch (PDOException $e) {    
    print_r ("<pre align='center'><font color='".$array_colori['msg_ERRORE']."'><b>"."ERRORE: impossibile connettersi al database ".$database." - " . $e->getMessage()."</b></font>\r\n"."</pre>");
}
        
foreach ($data_note as $row) {
    $note = $row['note'];
    $mese = $row['mese'];
}
questo è l'errore restituito: Fatal error: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in...

questo è il rigo che dà problemi: $stmt_note->execute(array(':nota_id' => $nota_id));

Grazie