Pas*_*TIN 19
如何使用执行以下操作的SQL查询:
show tables
Run Code Online (Sandbox Code Playgroud)
或者,如果需要,指定数据库:
show tables from crawler
Run Code Online (Sandbox Code Playgroud)
而且,如果你只想得到一些表:
show tables from crawler like 'site%'
Run Code Online (Sandbox Code Playgroud)
实际上,即使该mysql_list_tables()函数存在,其手册页也会指出:
不推荐使用此功能.最好是使用
mysql_query()发出SQL SHOW TABLES [FROM db_name] [LIKE 'pattern']语句.
所以,对于PDO,这应该是相当不错的,我猜.
并且,使用PDO进行测试:
$db = new PDO('mysql:dbname=crawler;host=127.0.0.1', 'crawler', 'crawler');
$result = $db->query("show tables");
while ($row = $result->fetch(PDO::FETCH_NUM)) {
var_dump($row[0]);
}
Run Code Online (Sandbox Code Playgroud)
我得到这种输出:
string 'headers' (length=7)
string 'headers_sites' (length=13)
string 'headers_sites_0' (length=15)
...
string 'headers_sites_7' (length=15)
string 'reporting_sites_servers_software' (length=32)
string 'servers' (length=7)
string 'sites' (length=5)
string 'sites_0' (length=7)
...
string 'sites_servers' (length=13)
string 'sites_software' (length=14)
string 'software' (length=8)
Run Code Online (Sandbox Code Playgroud)
这适合我在这个数据库中实际拥有的表.