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