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.
questo è l'errore restituito: Fatal error: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in...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 è il rigo che dà problemi: $stmt_note->execute(array(':nota_id' => $nota_id));
Grazie

Rispondi quotando

