non è complicato

prendi il valore che ti arriva dall'array $_POST, lo scomponi usando explode("\n", $_POST['textarea']) e poi cicli il tutto in un foreach o in un while

codice:
foreach($row in explode("\n", $_POST['textarea']))
{
  $row = trim($row);
  
  // fai la query, verifichi l'esistenza, e decidi che fare
}
o, MOLTO meglio, ti crei un elenco di confronti da fare e lo fai in una sola botta! E' una soluzione leggermente più pesante, anche se in modo praticamente impercettibile, per una o due righe, ma se si hanno più righe si risparmiano parecchie query


codice:
$elenco = array()
foreach($row in explode("\n", $_POST['textarea']))
{
  $value = trim($row);
  $elenco[$value] = '\'' . $value . '\'';
}

$query = mysql_query("SELECT ..... FROM .... WHERE campo IN (" . implode(', ', $elenco) . ")");
while($row = mysql_fetch_assoc($query))
{
  // Verifica se la riga esiste
  if (isset($elenco[$row['campo']]) === true)
  {
    //
    // QUI: FAI LE OPERAZIONI CHE TI SERVONO SE LA RIGA ESISTE GIA' NEL DATABASE
    //
    
    // Elimino la riga appena acquisita
    unset($elenco[$row['campo']])
  }
}

// Liberi la memoria
mysql_free_result($query);

// Cicli le righe che non esistono
foreach($row in $elenco)
{
    //
    // QUI: FAI QUELLO CHE TI SERVE SE LA RIGA NON ESISTE!
    //
}

// Cicli l'elenco di campi che non hanno corrispondenze
unset($elenco);
cosi fai quello che devi fare

Se ad esempio devi inserire le righe che non esistono nel database puoi usare un'unica insert con più valori e per prendere poi i relativi ID puoi estrarre le righe con quei campi come fatto prima

quindi, con 1 query fai l'estrazione e sai quali sono presenti, con i relativi id, e quali non esistono mentre poi con altre 2 query fai l'eventuale inserimento in blocco, se ti serve, ed estrai i campi che ti servono.

Se devi fare più di una query per volta (com'è probabile che sia), diciamo da 2 a salire, ti conviene quest'ultimo metodo e, in generale, se devi inserire le righe che non esistono e prendere l'id ti conviene anche questo metodo perché anche se è più complesso è anche più performante per inserire più di un termine per volta nel database

Succo del discorso: se prevedi che difficilmente questa parte del tuo software sarà usata o che sarà usata poco puoi usare il sistema semplice, altrimenti ti conviene utilizzare questo sistema più evoluto, anche se più complesso