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