Это:
$sql = "select entreprise.*, employee.* where entreprise.* or employee.* like '%$k[0]%' or '%$k[1]%'";
не является допустимым SQL. Трудно угадать, что вы хотите сделать, но я все равно пытаюсь: вы хотите найти сотрудников и искать их по имени или по предприятию, в котором они работают. Это тот случай? Или вы хотите искать работу и / или предприятия?
EDIT
Я хочу найти все, что соответствует содержимому во всех столбцах таблицы entreprise и содержимому во всех столбцах таблицы сотрудников.
Хорошо, прежде всего вы должны понимать, что SQL, вероятно, не лучший инструмент для этой работы. Смотрите другого комментатора - его предложения о сфинксе и друзьях хороши. Но все же, если вы действительно хотите:
$sql = '
SELECT e.id, e.name
FROM enterprise e
-- first, look in column1
WHERE e.column1 LIKE '."'%".$k[0]."%'".'
OR e.column1 LIKE '."'%".$k[1]."%'".'
...etc for all entries in k...
OR e.column1 LIKE '."'%".$k[N]."%'".'
-- then, look in column2
OR e.column2 LIKE '."'%".$k[0]."%'".'
OR e.column2 LIKE '."'%".$k[1]."%'".'
...and so on and so forth for all entries in $k and all columns in enterprise...
UNION ALL
SELECT s.id, s.name
FROM salarie s
WHERE ...and the same for columns of salarie...
...
UNION ALL
...any other tables you want to search...
';
Как видите, не то, что делает вас счастливыми.
Другой подход, который может доставить вам больше радости, - это выполнить одну ночь, чтобы отсканировать все строки в таблицах, которые вас интересуют, разобрать тексты, которые вы хотите найти, в отдельные слова, сохранить их в таблице ключевых слов и сохранить связь между объектом из исходной базы данных и ключевым словом в отдельной таблице. Затем вы можете выполнить поиск в таблице ключевых слов и использовать найденные вами идентификаторы и имена таблиц для набора ключевых слов, чтобы построить фактический запрос для получения этих строк. Это то, что я делаю, и это прекрасно работает. Это работает лучше, потому что есть сравнительно небольшое количество слов, с которыми вы столкнетесь, в то время как набор объектов весьма возможен очень большой.