如何使用PHP查找上一条SQL语句中创建的所有表的名称?

如何使用PHP查找上一条SQL语句中创建的所有表的名称?,php,mysql,sql,create-table,Php,Mysql,Sql,Create Table,我有如下代码: $import = "CREATE TABLE foo..."; // an SQL import containing some CREATE TABLE, ALTER TABLE, etc. $result = $mysqli->query($import) or die ($mysqli->error); 如何查找上次SQL查询中创建的所有表的名称(即$import语句)?我想知道MySQL中是否有一种特殊的方法来实现这一点,而不仅仅是在语句中搜索CREATE

我有如下代码:

$import = "CREATE TABLE foo..."; // an SQL import containing some CREATE TABLE, ALTER TABLE, etc.
$result = $mysqli->query($import) or die ($mysqli->error);

如何查找上次SQL查询中创建的所有表的名称(即
$import
语句)?我想知道MySQL中是否有一种特殊的方法来实现这一点,而不仅仅是在语句中搜索
CREATE TABLE
,这是一种肮脏的攻击。

使用
信息模式。TABLES

$time = time();

//create tables here  
...

select table_name, create_time 
from information_schema.TABLES
where create_time > $time
where table_schema = 'andomar'
order by CREATE_TIME desc

不知道还有没有别的办法。尝试获取查询前后的表列表并进行比较。@bansi-Hmm是的,我在想可能会有类似于
insert\u-id
,但对于表。。。我想我对这个问题有点过于乐观了。如果你写这个查询,你应该know@Dagon为了参数起见,我在这里只是显示一个静态查询,但实际上它来自一个SQL导入文件,本质上是非常动态的。丑陋的正则表达式?
where table_schema='andomar'
为什么有这个部分,并把它命名为数据库名称哦,你命名了这个名称,我已经被这个问题弄糊涂了,他问这个问题的方式,我想这个答案是+1