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.
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
La query deve restituire il conto dell'intero database per effettuare la paginazione.
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:
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();
Inutile dire che la variabile $tipoReg è valorizzata ed il suo valore è 0 o 1 come da parametro.
Il database funziona ovviamente, solo non viene passato il parametro. (provato anche con bindParam)
Mi date una mano?