quando spedisco (a uno script che accede e scrive nel db) un form e alcuni campi non li compilo proprio che cosa arriva a mysql in relazioni a quei campi? NULL?
grazie
quando spedisco (a uno script che accede e scrive nel db) un form e alcuni campi non li compilo proprio che cosa arriva a mysql in relazioni a quei campi? NULL?
grazie
Ciao,
dipende da come li tratti nel backend ... se l'inserimento in mysql lo gestisci con dei comandi INSERT potresti anche avere degli errori su alcuni tipi di dato. Mi spiego meglio:
...
//associazioni
$campoNumerico = $_POST["campoNumerico"];
$campoStringa = $_POST["campoStringa"];
$campoBoolean = $_POST["campoBoolean"];
...
//query
... 'INSERT INTO (campoNumerico, campoStringa, campoBoolean) VALUES ('.$campoNumerico.', \''.$campoStringa.'\', '.$campoBoolean.');' ...
...
in questo caso se i due dati campoNumerico e campoBoolean non sono imputati la query va in errore.
Se invece fai una serie di controlli puoi impostare a NULL i valori non inputati es:
//associazioni
...
//controlli
if(isNull($campoNumerico) || ($campoNumerico=='')) $campoNumerico = 'NULL';
if(isNull($campoBoolean) || ($campoBoolean=='')) $campoBoolean= 'NULL';
...
//query
...
Saluti
Scusa ma non hai riposto alla mia domanda! è null o no il dato che arriva al php?
La tua domanda era "che cosa arriva a mysql" non al php ... comunque la risposta è che dentro l'array $_GET o $_POST, puntando con un key non presente il risultato è: non definito.
Guarda questo esempio:
14 - if(is_null($_GET["test"])) print "test is null
";
15 - if($_GET["test"]=="") print "test is \"\"
";
16 - if(!isset($_GET["test"])) print "test is not set
";
17 - $val = "test: ".$_GET["test"]."
";
18 - print $val;
da come risultato:
Notice: Undefined index: test in ...\test.php on line 14
test is null
Notice: Undefined index: test in ...\test.php on line 15
test is ""
test is not set
Notice: Undefined index: test in ...\test.php on line 17
test:
n.b.:"i Notice appaiono solo se nel php.ini hai impostato il livello di output con i Notice"
a mysql quindi arriveranno i dati concatenati nella INSERT e quindi vuoti (la concatenzazione di un dato non settato con una stringa restituisce un Notice in output e la stringa di partenza) ... sta quindi a come controlliamo i dati letti da $_POST e $_GET ...
Saluti