はい、クエリ結果の一部であるテーブルと列に関する情報を取得できます。これは結果セットのメタデータと呼ばれます 。
MySQL結果セットメタデータの唯一のPHPソリューションは、MySQLi拡張機能と mysqli_stmt::result_metadata()
機能。
$stmt = $mysqli->prepare("SELECT * FROM db_people.people_facts pf
INNER JOIN db_system.connections sm ON sm.source_id = pf.object_id
INNER JOIN db_people.people p ON sm.target_id = p.object_id
ORDER BY pf.object_id DESC");
$meta = $stmt->result_metadata();
$field1 = $meta->fetch_field();
echo "Table for field " . $field1->name . " is " . $field1->table . "\n";
フィールドをループして、クエリで使用される個別のテーブルの配列を自分で作成する必要があります。