Salve a tutti 
ho una form composta da una data di nascita presa da un menu di selezione contenente anno, mese e giorno. Al momento dell'operazione di INSERT nel database, effettuo il binding usando la classe PDO, ma la data che mi restituisce è 0000-00-00 (il problema è nella conversione o nel binding stesso). Da notare che il campo data_nascita esiste solo nel db, nella form non esiste ma è l'insieme dei tre valori anno, mese e giorno.
Credo che il problema sia dovuto ad una specie di asincronia tra l'invio di dati con POST e il binding... come se il binding avvenisse per ultimo quando già i valori di POST sono stati azzerati.... come potrei risolvere?
Un sentito grazie a chi mi risponderà.
codice:
try {
$sql = 'INSERT INTO utenti (nome, cognome, data_nascita) VALUES (:name, :surname, :birthdate)';
$stmt = $db_ref->prepare($sql);
$stmt -> bindParam(':name', $_POST['name']);
$stmt -> bindParam(':surname', $_POST['surname']);
$stmt -> bindParam(':birthdate', sprintf("%04d-%02d-%02d", $_POST['year'], $_POST['month'], $_POST['day']));
$stmt -> execute();
}