Показать все таблицы внутри базы данных MySQL

Я пытаюсь показать все таблицы в моей базе данных. Я пробовал это:

$sql = "SHOW TABLES"; $result = $conn->query($sql); $tables = $result->fetch_assoc(); foreach($tables as $tmp) { echo "$tmp <br>"; } 

но это только дает мне одно имя таблицы в базе данных, которую я знаю, 2. Что я делаю неправильно?

Как получить таблицы

1. SHOW TABLES

 mysql> USE test; Database changed mysql> SHOW TABLES; +----------------+ | Tables_in_test | +----------------+ | t1 | | t2 | | t3 | +----------------+ 3 rows in set (0.00 sec) 

2. SHOW TABLES IN db_name

 mysql> SHOW TABLES IN another_db; +----------------------+ | Tables_in_another_db | +----------------------+ | t3 | | t4 | | t5 | +----------------------+ 3 rows in set (0.00 sec) 

3. Использование информационной схемы

 mysql> SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'another_db'; +------------+ | TABLE_NAME | +------------+ | t3 | | t4 | | t5 | +------------+ 3 rows in set (0.02 sec) 

к ОП

вы выбрали только 1 строку. исправить вот так:

 while ( $tables = $result->fetch_array()) { echo $tmp[0]."<br>"; } 

и я думаю, information_schema будет лучше, чем SHOW TABLES

 SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'your database name' while ( $tables = $result->fetch_assoc()) { echo $tables['TABLE_NAME']."<br>"; } 

Попробуй это:

 SHOW TABLES FROM nameOfDatabase; 

SHOW TABLE_NAME недействителен. Попробуйте SHOW TABLES

TD

SHOW TABLES отображает только не-ВРЕМЕННЫЕ таблицы в данной базе данных.

https://dev.mysql.com/doc/refman/5.0/en/show-tables.html

 <?php $dbname = 'mysql_dbname'; if (!mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) { echo 'Could not connect to mysql'; exit; } $sql = "SHOW TABLES FROM $dbname"; $result = mysql_query($sql); if (!$result) { echo "DB Error, could not list tables\n"; echo 'MySQL Error: ' . mysql_error(); exit; } while ($row = mysql_fetch_row($result)) { echo "Table: {$row[0]}\n"; } mysql_free_result($result); ?> //Try This code is running perfectly !!!!!!!!!!