Ciao, ho uno strano errore che non riesco a comprendere.
In pratica ho un database di cui tento di leggere una tabella tramite il PHP. se la stessa query la faccio in phpMyAdmin funziona, se la faccio da programma mi da errore.
La query deve restituire il conto dell'intero database per effettuare la paginazione.codice HTML:C:\Apache\users\marco\apoleg\index.php:180: object(PDOStatement)[2] public 'queryString' => string 'SELECT COUNT(*) AS rmax FROM registro WHERE tipo_reg = :reg LIMIT 1; --' (length=71) Errore tentando di connettere il database: SQLSTATE[HY000]: General error: 2031 - HY000 - C:\Apache\users\marco\apoleg\index.php - 135
Il campo tipo_reg serve ad identificare il tipo di registro nella tabella e può assumere solo due valori, 0 e 1, nel caso specifico è 0.
Premetto che ho già provato ad inserire il valore 0 ( e poi 1 ) in modo implicito nella query e funziona.
Quello che non funziona è il passaggio dei parametri e non ne capisco il perché.
Il codice:
Inutile dire che la variabile $tipoReg è valorizzata ed il suo valore è 0 o 1 come da parametro.Codice PHP:$sql = 'SELECT COUNT(*) AS rmax FROM registro WHERE tipo_reg = :reg AND anno_reg = 2019 LIMIT 1; --';$handle = $connUTE->prepare($sql);$handle->execute();$handle->bindValue(':reg', (int)$tipoReg, PDO::PARAM_INT);$maxRecord = $handle->fetch(); // $maxRecord['rmax'] contiene il totale dei record nel database.$handle->closeCursor();
Il database funziona ovviamente, solo non viene passato il parametro. (provato anche con bindParam)
Mi date una mano?

Rispondi quotando