Как отобразить все имена таблиц в базе данных? - PullRequest
2 голосов
/ 20 апреля 2019

Я пытаюсь отобразить все имена таблиц в конкретной базе данных, но не могу найти работающее решение! Вот код, который я должен далеко:

$sql = "SHOW TABLES FROM test";
$result1 = mysqli_query($conn, $sql);
$resultCheck = mysqli_num_rows($result1);
if ($resultCheck > 0){
    while ($row = mysqli_fetch_assoc($result1)){
        echo $row;
    }
}

Любая помощь будет отличной!

Ответы [ 4 ]

3 голосов
/ 20 апреля 2019

Вы можете использовать этот простой запрос в СУБД sqlserver / mysql или др.

SELECT table_name 
FROM information_schema.tables 
WHERE table_schema ='Database Name';

Например

SELECT table_name 
FROM information_schema.tables
WHERE table_schema ='TestDB'; --enter you db name here
2 голосов
/ 20 апреля 2019

$row идет как array, поэтому вы должны получить его как

echo $row['Tables_in_test']
1 голос
/ 20 апреля 2019

Прежде всего, не просите базу данных вне того, что видит пользователь, которого вы используете (поэтому убедитесь, что пользователь может видеть другие базы данных).

Тот, который выяснил, это код

$sql = "SHOW TABLES FROM test";
$result1 = $conn->query($sql);
while ($row = mysqli_fetch_assoc($result1)){
  echo $row["Tables_in_test"];
}
0 голосов
/ 20 апреля 2019

Я действительно не знаю, как это сделать в приведенном выше синтаксисе Но вы можете сделать это в редакторе запросов SQL

SELECT table_name FROM information_schema.tables

Это дает всю доступную таблицу в вашей БД. Извините, поскольку это не касается вашего вопроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...