Получить список таблиц MySQL и запустить код для каждой таблицы - PullRequest
1 голос
/ 16 января 2011

У меня есть несколько таблиц в одной базе данных MySQL. Мне нужно сохранить имя таблицы в переменной и выполнить код для каждого имени таблицы.

Как я могу это сделать?

Ответы [ 4 ]

2 голосов
/ 16 января 2011

Вот как это сделать.

<?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: MySQL :: MySQL 5.5 Справочное руководство :: 12.4.5.38 ПОКАЗАТЬ ТАБЛИЦЫ Синтаксис

2 голосов
/ 16 января 2011

Использование SHOW TABLES:

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

if ($stmt->rowCount() > 0) {
    $tables = $stmt->fetchAll(PDO::FETCH_NUM);
    foreach ($tables as $table) {
        $table_name = $table[0];
        // do something
    }
}
1 голос
/ 16 января 2011

Вы можете получить список таблиц с помощью следующего запроса SHOW TABLES FROM db_name.См. Например http://dev.mysql.com/doc/refman/5.5/en/show-tables.html.

0 голосов
/ 30 января 2012

Использование этого даст вам непосредственно массив таблиц, без необходимости циклически повторять результат:

$pdo = new PDO('mysql:dbname=mydb', 'myuser', 'mypass'); 
$tables = $pdo->query('SHOW TABLES')->fetchAll(PDO::FETCH_COLUMN, 0);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...