La verdad mi amigo, yo toda esas tareas las resumiria en 3 simples querys de SQL ejecutados en ese orden.
Código SQL:
Ver original//UPDATE
UPDATE manufacturer
SET name = (
SELECT M.marca_detalle FROM marcas M WHERE M.marca_id = manufacturer.manufacturer_id
);
//INSERT
INSERT INTO manufacturer (manufacturer_id,name)
SELECT M.marca_id, M.marca_detalle FROM marcas M WHERE M.marca_id NOT IN( SELECT manufacturer_id FROM manufacturer)
//DELETE
DELETE FROM manufacturer WHERE manufacturer_id NOT IN(SELECT M.marca_id FROM marcas M)
Código PHP:
Ver original//actualizo los registros comunes
SET name = (
SELECT M.marca_detalle FROM marcas M WHERE M.marca_id = manufacturer.manufacturer_id
//Ingreso los registros que no existan en manufacurer
$sql =mysql_query("INSERT INTO manufacturer (manufacturer_id,name) SELECT M.marca_id, M.marca_detalle FROM marcas M WHERE M.marca_id NOT IN( SELECT manufacturer_id FROM manufacturer)",Conectar
::con())or
die (mysql_error()) ;
//Elimino los id que no estan en la tabla marcas pero si en la tabla manufacturer
$sql=mysql_query("DELETE FROM manufacturer WHERE manufacturer_id NOT IN(SELECT M.marca_id FROM marcas M)",Conectar
::con())or
die (mysql_error()) ;
Un saludo.