すべてのテーブルの構造が同じである場合は、UNION
を使用できます。 3つのテーブルすべてから一度に行を返すクエリ:
$check = mysqli_query($con, "SELECT * FROM text WHERE keyword='$string'
UNION
SELECT * FROM sticker WHERE keyword='$string'
UNION
SELECT * FROM image WHERE keyword='$string'");
これにより、既存の3つのクエリと同等の行セットが得られます。特定の行がどのテーブルからのものであるかを判別する方法がないことに注意してください。そのため、たとえば
を示すためにフィールドを追加することをお勧めします。$check = mysqli_query($con, "SELECT *, 'text' AS src FROM text WHERE keyword='$string'
UNION
SELECT *, 'sticker' AS src FROM sticker WHERE keyword='$string'
UNION
SELECT *, 'image' AS src FROM image WHERE keyword='$string'");