2011-01-16 8 views

答えて

2

使用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 
    } 
} 
2

ここでその方法を説明します。 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. 
    } 

さらに詳しい情報:MySQL :: MySQL 5.5 Reference Manual :: 12.4.5.38 SHOW TABLES Syntax

+0

whileループ内でこれを行うことができるので、foreachは必要ありませんが+1 – RobertPitt

+0

@RobertPitt;はい、することができますが、この方法では、例えば、テーブル名の配列として関数にリストを送信し、そのような外部のリストを使用することができます。私はちょうどそれがこのようにそれを書くためにスケーラブルになると思った。 :) –

0

直接テーブルの配列をあなたを与えるだろう、これを使用して、結果のサイクルを必要とせず:

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