Php 获取MySQL表的列表,并为每个表运行代码

Php 获取MySQL表的列表,并为每个表运行代码,php,mysql,for-loop,Php,Mysql,For Loop,我在一个mysql数据库中有许多表。我需要将表名存储在一个变量中,并对每个表名运行一些代码 如何才能做到这一点?您可以通过以下查询从db_name获取表列表。请参见,例如:您可以通过以下查询从db_name获取表列表。请参见,例如…这里是如何操作的 <?php $mysqli = new MySQLi (..); //add ur account details here $result = $mysqli -> query ("SHOW TABLES");

我在一个mysql数据库中有许多表。我需要将表名存储在一个变量中,并对每个表名运行一些代码


如何才能做到这一点?

您可以通过以下查询从db_name获取表列表。请参见,例如:

您可以通过以下查询从db_name获取表列表。请参见,例如…

这里是如何操作的

<?php

    $mysqli = new MySQLi (..); //add ur account details here

    $result = $mysqli -> query ("SHOW TABLES");
    $tables = array();
    while ($row = $result -> fetch_assoc()){
        $tables[] = $row[0];
    }

    foreach ( $tables as $table ){
        // do your processing on tables.
    }
有关show tables的更多信息:

以下是操作方法

<?php

    $mysqli = new MySQLi (..); //add ur account details here

    $result = $mysqli -> query ("SHOW TABLES");
    $tables = array();
    while ($row = $result -> fetch_assoc()){
        $tables[] = $row[0];
    }

    foreach ( $tables as $table ){
        // do your processing on tables.
    }
有关显示表格的更多信息:

使用显示表格:

使用显示表格:


使用此选项将直接生成表数组,而无需根据结果循环:

$pdo = new PDO('mysql:dbname=mydb', 'myuser', 'mypass'); 
$tables = $pdo->query('SHOW TABLES')->fetchAll(PDO::FETCH_COLUMN, 0);

使用此选项将直接生成表数组,而无需根据结果循环:

$pdo = new PDO('mysql:dbname=mydb', 'myuser', 'mypass'); 
$tables = $pdo->query('SHOW TABLES')->fetchAll(PDO::FETCH_COLUMN, 0);

您不需要foreach,因为您可以在while循环中执行此操作,但是+1@RobertPitt; 是的,您可以,但是通过这种方式,您可以使用外部列表,例如,将列表作为表名数组发送给函数,诸如此类。我只是觉得这样写会更具伸缩性您不需要foreach,因为您可以在while循环中执行此操作,但是+1@RobertPitt; 是的,您可以,但是通过这种方式,您可以使用外部列表,例如,将列表作为表名数组发送给函数,诸如此类。我只是觉得这样写会更具伸缩性