开发者

Retrieve database table names and print them out

This should be fairly simple. I've crafted an SQL query that dumps all matching database table names to an array. I want to print them out, yet for some reason I cannot. Please help!

Database tables are named: example_1, example_2, etc开发者_JS百科.

My code:

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

Doing a print_r($results) shows that all the table names were successfully retrieved. Example output:

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

So then I tried:

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

But no luck. How can I iterate through $results to print out each table name? Is there something like $results[0].value I could use to retrieve the values?


I believe this is what you need to do:

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

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

The => will separate the key and value from a multidimensional array.


Try following code.

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


This can be simplified using array_column.

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

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜