そもそもテーブル名がわからない場合、どうすればテーブル内のデータを検索できますか?
したがって、あなたはすでにテーブル名を知っていて、SHOW TABLES
;のようなものは必要ないと思います。WHERE
あなたが持っていること例えば
WHERE (table1.field LIKE '%search%' OR table2.field2 LIKE '%search%' OR ...)
行を取得すると、一致することはわかりますが、一致が発生した場所はわかりません。また、1つのJOINedではなく8つのストレートクエリを実行することはできません。
この場合、選択したフィールドにフラグを追加して、必要なものを通知する必要があります。
SELECT ..., CASE
WHEN accounts.field1 LIKE '%search%' THEN 'accounts'
WHEN customers.name LIKE '%search%' THEN 'customers'
...
END AS wtf FROM <rest of your query>
次に、PHPで行を取得するときに、次のフィールドを使用します。
print "Value found in {$row['wtf']}";