Originariamente inviato da skidx
probabilmente è più opportuno l'approccio che suggeriva piero, cioè prima autenticare e poi consentire l'input, in ogni modo se per un qualche motivo preferisci fare tutto assieme, si può fare inviando una sola query

INSERT INTO post (ID_UTENTE, TITOLO, POST) SELECT (ID_UTENTE, 'titolo del post', 'contenuto del post') FROM utente WHERE username = 'nomeutente' AND password = 'passwordutente'
l'INSERT... SELECT l'avevo pensata, poi non l'ho proposta perche' se lo USER non esiste farebbe casino.

insisto sui due step anche da te condiviso

autenticazione e poi inserimento se l'utente e' riconosciuto.