ma perchè se scrivo così funziona

$query = "SELECT * FROM foto WHERE sottocategoria like '%pippo%' ";

e se pippo lo voglio scrivere io in un campo di testo in un'altra pagina e spedirlo alla select via post....

$sottocat = $_POST["sottocat"];
$query = "SELECT * FROM foto WHERE sottocategoria like $sottocat ";

mi dice: Unknown column 'pippo' in 'where clause'