Проблемы с проверкой наличия или отсутствия таблицы в db

В основном у меня есть MySQL dbname = test и моя таблица name = page.

Я хочу создать запрос с помощью php PDO, чтобы проверить, существует ли таблица «page» в моем «тесте» db,

Я пробовал эти две вещи, но это не работает. Первый пример всегда говорит мне, что он не существует .. даже когда он существует в моем db, а второй пример говорит мне, что он всегда существует … даже когда он не существует ….

$db = new PDO('mysql:host=' . $DB_SERVER . ';dbname=' . $DB_NAME, $DB_USER, $DB_PASS); if (array_search('pages', $db->query('show tables')->fetch()) !== false) { echo "the db exists"; } else { echo "the db doesnt exists"; } 

Я также пробовал это

 $results = $db->query('SHOW TABLE LIKE \'page\''); if (count($results) > 0) { echo 'table exists'; } else { echo "it doesnt"; } 

Как насчет:

 $results = $db->query('SHOW TABLES LIKE \'page\''); if (count($results->fetchAll()) > 0) { echo 'table exists'; } else { echo "it doesnt"; } 

Убедитесь, что ваш пользователь имеет доступ к базе information schema данных и выполните следующие действия:

 SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'database_to_search' AND TABLE_NAME LIKE "table_here%" 

Затем возьмите и проверьте свои результаты. Используя вышеизложенное, если вам нужно, вы также можете ограничить свой ответ (смещение, ограничение).