Prueba hacer un JOIN se sql.
(Esto significa que la base de datos (no PHP) hace sus operaciones enlazando varias tablas)
No estoy seguro de que funcione
a la primera, porque no me queda clara la estructura de tus datos, pero es la idea:
Código PHP:
Ver original<?php
$categoria = $row_proyecto['categoriasproyecto'];
$categoriaoferta = explode(",",$categoria); mysql_select_db($database_basedatos, $basedatos); //antes del bucle una sola vez
foreach($categoriaoferta as $cat){
$query="
UPDATE tabla_usuarios_categorias AS a
LEFT JOIN usuarios AS b ON a.idusuario = b.idusuario
SET a.numerocategorias=a.numerocategorias+1, a.idcategorias=CONCAT_WS(',', a.idcategorias, '$cat')
WHERE b.categoriasusuario LIKE '%$cat%'";
}
?>