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);
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:
Warning: mysqli_stmt::bind_param() [mysqli-stmt.bind-param]: Number of elements in type definition string doesn't match number of bind variables in