Bu:
$sql = "select entreprise.*, employee.* where entreprise.* or employee.* like '%$k[0]%' or '%$k[1]%'";
Geçerli bir SQL değil. Bu ne yapmak istediğinizi tahmin etmek zor, ama yine de çalışıyorum: Eğer çalışanları bulmak ve adıyla veya onları istihdam kuruluş onları aramak istiyorum. Durum böyle mi? Yoksa Çalışan ve / veya işletmelerin aramak istiyorsunuz?
DÜZENLEME
Ben Entreprise tablonun tüm sütunlarda içeriği ve çalışan tablonun tüm sütunlarda içeriği eşleşen bir şey bulmak istiyorum.
Tamam, her şeyden önce SQL muhtemelen bu iş için en iyi araç değildir farkına varmalıdır. Diğer yorumcu bakın - sfenks ve arkadaşları hakkında yaptığı önerileri iyi. Ama yine de, sen gerçekten istiyorsanız:
$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...
';
Eğer mutlu kılan bir şey değil gördüğünüz gibi.
Size daha fazla sevinç verebilir bir başka yaklaşım, ilgilendiğiniz tablodaki tüm satırları taramak ayrı kelimelerle aramak istediğiniz metinleri ayrıştırmak ve bir anahtar kelime tablodaki saklamak için bazı gecede işi olan ve arasındaki ilişki depoluyor kaynak veritabanı ve ayrı bir tabloda anahtar kelimenin bir nesne. Daha sonra anahtar kelime masa aramak ve bu satırları almak için gerçek sorgu oluşturmak için bir anahtar kelime koleksiyonu bulmak id ve tablo adları kullanabilirsiniz. Bu ben ne olduğunu, ve o inşaat büyük. Nesnelerin toplanması çok büyük oldukça mümkündür oysa karşılaşacak kelime görece küçük bir miktarda, yoktur, çünkü bu daha iyi çalışır.