ciao a tutti, con la struttura sopra ho cercato di implementare la creazione di una query dinamica per la ricerca. ho anche debuggato con delle echo ed i risultati sono giusti ossia risulta sempre count($params)=strlen($prova). tuttavia ottengo il seguente errore:codice:$params = array(); $type=array(); $fragments = array(); foreach($_POST as $col => $val) { if($val!=""){ $fragments[] = "{$col} = ?"; if($col=="ritiro" or $col=="data") $params[] = normalToDbDate($val); else $params[] = $val; if($col=="legale") $type[]='i'; else $type[]='s'; } } $prova=implode("",$type); echo $query; echo "val(".count($params).")-->".implode(',',$params); echo "type(".strlen($prova).")-->".implode("",$type); $sql = $db->prepare("SELECT notifica.id,data,parti,atto,numero,ritiro,nominativo.nominativo,legale FROM notifica,nominativo WHERE notifica.legale=nominativo.id AND ".implode(" AND ", $fragments)); $sql->bind_param($prova,$params); $sql->execute(); $sql->bind_result($id,$data,$parti,$atto,$numero,$ritiro,$nominativo,$legale);
codice:Warning: mysqli_stmt::bind_param() [mysqli-stmt.bind-param]: Number of elements in type definition string doesn't match number of bind variables in

Rispondi quotando