Aslında çözümleyici olarak MySQL kullanabilirsiniz olursa olsun ve ne kadar karmaşık SQL sözdizimi sorgusunda tablenames alabilirsiniz.
(Bu soruya bir geç tepki olduğunu Üzgünüm - Ben sadece bugün aynı sorun vardı ve bu çözümü buldum.)
Sadece kelime ile sorgu İZAH önek ve PHP döndü ayarlanmış sonuçları id, select_type, masa, tipi, possible_keys, anahtar, key_len, ref, satırlar, Ekstra içerecektir. Üçüncü sütun sizin sorgusunda her tablonun adıdır.
Örneğin, sorgu varsa:
select count(*) from ey_def left join ey_rels on def_id=item_id;
Kullanın:
explain select count(*) from ey_def left join ey_rels on def_id=item_id;
Ve MySQL PHP için bu dönecektir:
+----+-------------+---------+-------+---------------+---------+---------+------+------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+---------+-------+---------------+---------+---------+------+------+-------------+
| 1 | SIMPLE | ey_def | index | NULL | PRIMARY | 4 | NULL | 87 | Using index |
| 1 | SIMPLE | ey_rels | ALL | NULL | NULL | NULL | NULL | 123 | |
+----+-------------+---------+-------+---------------+---------+---------+------+------+-------------+
Artık sadece başka bir sorgu gibi sonuçlarını işleyebilir.