Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL查询中使用的所有表的列表_Php_Mysql - Fatal编程技术网

Php MySQL查询中使用的所有表的列表

Php MySQL查询中使用的所有表的列表,php,mysql,Php,Mysql,我需要最简单的方法来获取MySQL查询中使用的所有表名 "select * From Tab1 " $result= Tab1 "select * From Tab1, Tab2 Where ID1=ID2" $result= Tab1, Tab2 "delete From Tab1" $result= Tab1 您可以为选择语句使用EXPLAIN——只需在查询前添加EXPLAIN关键字并执行即可。它将为您提供MySQL查询执行计划,其中还将包括所涉及的表的列表-查看此 它也适用于DELETE

我需要最简单的方法来获取MySQL查询中使用的所有表名

"select * From Tab1 " $result= Tab1
"select * From Tab1, Tab2 Where ID1=ID2" $result= Tab1, Tab2
"delete From Tab1" $result= Tab1

您可以为
选择
语句使用
EXPLAIN
——只需在查询前添加
EXPLAIN
关键字并执行即可。它将为您提供MySQL查询执行计划,其中还将包括所涉及的表的列表-查看此


它也适用于
DELETE
语句,但要注意,它实际上可能会作为副作用删除行,这对您的任务可能不太合适。

我不完全确定您的意图,但要列出数据库中的所有表,只需执行以下命令

SHOW TABLES from 'dbname'

您可以使用php函数mysql_info,该函数返回有关上次执行的查询的信息

string mysql_info ([ resource $link_identifier = NULL ] )

除了编写自己的SQL解析器,我不知道还有什么方法可以做到这一点。不幸的是,这确实是一个非常聪明的黑客行为。这显示了mysql数据库中所有表的列表,但OP要求提供给定SQL语句中引用的表的列表