che pirla che sono, avete ragione, mezza giornata buttata per una cagata.... va bhe no comment...
Già che ci sono vi chiedo un consiglio.... io mi sono creato una serie di funzioni di questo genere
Codice PHP:
function SetBool($val,$nomecampo = NULL){
if(!isset($val) || $val===FALSE)
$val = 0;
if($val===TRUE)
$val = 1;
if($val!=0 && $val !=1)
throw new Exception("Il campo ".$nomecampo." non e' un valore accettato.");
return $val;
}
function SetNum($num, $nomecampo = NULL, $approssizione = NULL, $modalita = NULL){
// $num : il valore da trattare
// $approssimazione : indica il numero di cifre decimali che deve restituire
// $modalita : E/D/NULL indica il tipo di approssimazione E = eccesso D = difetto NULL = valore di default
$num = trim($num);
if($num=="" || $num==NULL)
return "NULL";
$num = str_replace(",", ".", $num);
if(is_numeric($num)){
return $num;
}else{
throw new Exception("Il campo ".$nomecampo." non e' numerico");
}
}
function SetTesto($txt,$nomecampo = NULL){
$txt=trim($txt);
if($txt=="" || $txt==NULL)
return "NULL";
$txt=str_replace("\"","''",$txt);
$txt=addslashes($txt);
return "'".$txt."'";
}
function SetData($data,$nomecampo = NULL){
$data=trim($data);
if($data=="")
return "NULL";
$data=str_replace("/", "-" ,$data);
$data = explode("-", $data);
if(isset($data[0]) && isset($data[1]) && isset($data[2])){
if(checkdate ( $data[1] , $data[0] , $data[2] ))
return "'".$data[2]."-".$data[1]."-".$data[0]."'";
else
throw new Exception("Il campo ".$nomecampo." non e' una data valida");
}else{
throw new Exception("Il campo ".$nomecampo." non e' una data valida");
}
}
Le quali interagiscono con i $_REQUEST della mia applicazione, è una cosa corretta o avete altro modo di suggerirmi come procedere?
Aggiornamento : il problema del null non me ne sono mai accorto perchè fino a ieri utilizzavo la versione 5.0.77 di mysql e passandogli la stringa "NULL" lui lo settava come valore, invece nella versione 5.1.47 rispetta il tipo campo...
Posso presumere che nella versione 5.0.77 la considerasse come parola riservata e anche se arrivava un testo per il era null comunque.