Проверьте, существует ли таблица MySQL или нет

Возможный дубликат:
MySQL проверяет, существует ли таблица без исключения исключения

У меня есть динамический построитель запросов mysql в моем проекте, который создает выборочные запросы из разных таблиц.
Мне нужно проверить, существует ли текущая таблица обработки или нет.
Представьте, что мои таблицы – table1, table2 и table3. Мой код выглядит примерно так:

<?php for($i = 1 ; $i <= 3 ; $i++) { $this_table = 'table'.$i; $query = mysql_query("SELECT * FROM $this_table"); // ... } ?> 

Как я могу сделать эту проверку (скажите, пожалуйста, самый простой способ).

Обновленная версия mysqli:

 if ($result = $mysqli->query("SHOW TABLES LIKE '".$table."'")) { if($result->num_rows == 1) { echo "Table exists"; } } else { echo "Table does not exist"; } 

Оригинальная версия mysql:

 if(mysql_num_rows(mysql_query("SHOW TABLES LIKE '".$table."'"))==1) echo "Table exists"; else echo "Table does not exist"; 

Ссылка из документов PHP .

Взято с другого поста

 $checktable = mysql_query("SHOW TABLES LIKE '$this_table'"); $table_exists = mysql_num_rows($checktable) > 0; 
 $query = mysqli_query('SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_NAME IN ("table1","table2","table3") AND TABLE_SCHEMA="yourschema"'); $tablesExists = array(); while( null!==($row=mysqli_fetch_row($query)) ){ $tablesExists[] = $row[0]; } 
 $result = mysql_query("SHOW TABLES FROM $dbname"); while($row = mysql_fetch_row($result)) { $arr[] = $row[0]; } if(in_array($table,$arr)) { echo 'Table exists'; } 

Вы можете попробовать это

 $query = mysql_query("SELECT * FROM $this_table") or die (mysql_error()); 

или это

 $query = mysql_query("SELECT * FROM $this_table") or die ("Table does not exists!"); 

или это

 $query = mysql_query("SELECT * FROM $this_table"); if(!$query) echo "The ".$this_table." does not exists"; 

Надеюсь, поможет!

Используйте этот запрос, а затем проверьте результаты.

 $query = 'show tables like "test1"'; 

Способ MySQL:

SHOW TABLES LIKE 'pattern';

Существует также устаревшая функция PHP для перечисления всех таблиц db, посмотрите http://php.net/manual/en/function.mysql-list-tables.php

Оформить эту ссылку, есть много полезной информации о комментариях.