Как только вы получите дескриптор базы данных через PDO, вы можете сделать это:
$tableExists = gettype($dbh->exec("SELECT count(*) FROM $table")) == 'integer';
Или оберните его в функцию.
Сначала я попытался возиться с try / catch, но даже если таблица не существует, исключений не было. Наконец, закончилась проверка на тип данных возвращаемого значения из вызова dbh exec. Это либо целое число, если есть совпадение в счетчике выбора (даже если счетчик равен 0, либо логическое значение false, если результатов не было.
Я думаю, что это должно работать со всеми типами баз данных, которые поддерживает PDO, поскольку синтаксис действительно прост.