Bien, tu problema ahora es cómo obtener los idTags que ya existían. Eso es otra cosa, pero que tiene muchas formas diferentes de resolverlo, y en todos los casos se requiere hacer una consulta, porque no hay forma de saber en una misma operación cuál es el id de un o que ya existe al fracasar el INSERT.
Si quieres una sugerencia, considerando que a medida que se vayan ingresando registros, será más probable que sean más los insert que fallen que lo que se hagan, yo realizaría una consulta antes de realizar el primer INSERT y listo.
Mas o menos así:
Código PHP:
Ver original<?php
$palabra = $tags;
foreach ($array as $tagsimple)
{
$nuevoId = 0;
$verificar = "SELECT idTag ";
$verificar = "FROM Tags ";
$verificar .= "WHERE Tag = '$tagsimple')";
// Verifica si ya existe y si es así, recupera el idTag.
if($resultVerif){
$nuevoId = $rs["idTag"];
}
else{
// Si el idTag no existe, lo inserta.
$query = "INSERT INTO Tags (Tag) ";
$query .= "VALUES('$tagsimple')";
if($result)
// Si lo pudo insertar, lo recupera.
else{
// Acá va alguna condición según haya fracasado el INSERT
// por alguna otra razon. En este punto no puede continuar porque
// ni es nuevo (no ingresó) ni existe desde antes, porque no se lo
// encontró.
}
}
// Continúa la ejecución normal, si el valor de nuevoId es mayor a cero.
$query2 = "INSERT INTO tag_noticias(IdNoticia, IdTag) ";
$query2 .= "VALUES(".$IdNoticia.",".$nuevoId.")";
}
?>