Non so come scrivere bene questa query:
Codice PHP:
// ids_schede_testa e' un vettore con i valori che devo inserire nell' IN operator alla query sotto
$in = str_repeat("?,", count($ids_schede_testa) - 1) . "?";
$sub_sql =
"SELECT Sum(nol) AS SommaNbl
FROM Schede_corpo
WHERE fk_schede_testa IN ($in)
GROUP BY Schede_corpo.fk_esercizio, fk_schede_testa
HAVING Schede_corpo.fk_esercizio = :id_esercizio;
$sub_result = $connessione->prepare($sub_sql);
$sub_result->bindParam(":id_esercizio", $id_esercizio, PDO::PARAM_INT);
$sub_result->execute($ids_schede_testa);
$sub_row = $sub_result->fetch(PDO::FETCH_ASSOC);
L'errore che mi restituisce e':
PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: mixed named and positional parameters in etc...
Capisco che non posso mixare i valori passando contemporaneamente i parametri tramite posizione nell IN operator e tramite bindparam.
Come posso riscrivere la query?
Grazie.