检索数据库表名并将其打印出来

时间:2011-03-25 23:28:06

标签: php arrays database wordpress

这应该相当简单。我已经精心设计了一个SQL查询,它将所有匹配的数据库表名转储到一个数组中。我想打印出来,但出于某种原因,我不能。请帮忙!

数据库表的名称为:example_1,example_2等。

我的代码:

$sql = "SHOW TABLES LIKE 'example_%'";
$results = $wpdb->get_results($sql);

执行print_r($ results)表示已成功检索到所有表名。 示例输出:

Array ( [0] => stdClass Object ( [Tables_in_wordpress (example_%)] => example_1 ) [1] => stdClass Object ( [Tables_in_wordpress (example_%)] => example_2 ) )

然后我尝试了:

foreach($results as $res) {
  echo $res;
}

但没有运气。如何遍历$results以打印出每个表名?是否有类似$results[0].value的东西我可以用来检索值?

3 个答案:

答案 0 :(得分:6)

我相信这就是你需要做的事情:

$sql = "SHOW TABLES LIKE '%'";
$results = $wpdb->get_results($sql);

foreach($results as $index => $value) {
    foreach($value as $tableName) {
        echo $tableName . '<br />';
    }
}

=&gt;将密钥和值与多维数组分开。

答案 1 :(得分:1)

尝试以下代码。

global $wpdb;
$res = $wpdb->tables();
var_dump($res); 

答案 2 :(得分:0)

可以使用array_column简化此操作。

$tables = array_column( $wpdb->get_results("show tables"), "Tables_in_local" );

foreach( $tables as $table ) {
    echo $table;
}