forse non sono riuscito a spiegarmi

$mio_nome = 'valerio';
$sql = "update anagrafica set nome = '".$mio_nome."' where id = 12';

questa per me è corretta. il valore nella stringa sql è racchiuso tra apici perchè è una stringa e devo variare un campo di tipo text


$anni = 27;

$sql = "update anagrafica set anni=".$anni." where id = 12":

questa per me è corretta. il valore è numerico, php fa il cast automatico tra integer e string quando deve concatenare la stringa e la stringa sql ha un valore non racchiuso tra apici in quanto sta aggiornando un campo integer.

questo è quello che tentavo di spiegare prima.