我在一个mysql数据库中有许多表。我需要将表名存储在变量中,并在每个表名上运行一些代码。
我该怎么做?
答案 0 :(得分:2)
以下是如何做到的。
<?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 Reference Manual :: 12.4.5.38 SHOW TABLES Syntax
答案 1 :(得分: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 :(得分:1)
您可以使用以下查询SHOW TABLES FROM db_name
获取表格列表。参见例如http://dev.mysql.com/doc/refman/5.5/en/show-tables.html
答案 3 :(得分:0)
使用它将直接为您提供表格数组,而无需循环结果:
$pdo = new PDO('mysql:dbname=mydb', 'myuser', 'mypass');
$tables = $pdo->query('SHOW TABLES')->fetchAll(PDO::FETCH_COLUMN, 0);