Tralasciando l'uso del tag per il codice 
C'è un "errore" nel prepare che dovrebbe essere:
Codice PHP:
$stmt = $dbh->prepare("SELECT P.id_prodotto, P.nome, P.costo, P.imm, C.descrizione FROM prodotto P INNER JOIN categoria C ON P.categoria=C.id where C.id = :id");
e poi con il metodo ->execute gli devi passare l'id, in modo da non buttare variabili a casaccio quando prepari la query
Codice PHP:
if ($stmt->execute(array($_POST['combo'])))
Non so però quel $_GET['nome'] a cosa serve messo così perché non credo venga usato.
Praticamente con execute esegui la query passandogli i campi del where.
Dai comunque un'occhiata qui per capire qualcosina in più http://php.net/manual/en/pdostatement.execute.php