Problem nie dotyczy różnych baz danych.
Twoja klauzula WHERE odwołuje się do pola database_1.table_1.data_1, które nie zostało podane w klauzuli FROM.
Czy nie chodziło Ci o coś takiego
SELECT *
FROM database_2.table_2
JOIN database_1.table_1
ON (database_2.table_2.some_field = database_1.table_1.some_other_field)
WHERE database_1.table_1.data_1 LIKE database_2.table_2.data_2
?
Ponadto
echo mysql_error();
po nieudanym zapytaniu - to da ci wskazówkę, co jest nie tak.