mysqli_fetch_array() no es tema de MySQL
OFF TOPIC en MySQL.
Movido a PHP.
Cita: Mi pregunta es si hay manera de con un if dentro del while saber de que tabla proviene el row
No hay modo de saberlo con un while, porque el while solo recorrerá el resultado de la consulta. DE hecho en un UNION no hay modo que ni siquiera la base te diga de qué tabla toma qué registro. No lo hace.
Normalmente lo que se puede hacer es forzar la creación de una columna ficticia que luego te sirva para procesar el dato en PHP.
Algo como:
Código SQL:
Ver originalSELECT 'link' Origen, L.*
FROM links L
UNION ALL
SELECT 'texto' Origen, T.*
FROM textos T
ORDER BY REGISTRO DESC
LIMIT 10
Eso devolverá una primera columna con el nombre "Origen", que contendrá uno de dos valores ("link" o "texto"). Lo podrás usar para lo que quieras.
Es un parche. No es una buena solución.
Tengamos en cuenta que si los links están relacionados con los textos, lo que corresponde usar en todo caso es JOIN y no UNION.