Как проверить наличие определенной таблице в базе данных?

Статус
В этой теме нельзя размещать новые ответы.

kaspruk

Постоялец
Регистрация
8 Янв 2007
Сообщения
61
Реакции
28
Хочу с помощью PHP проверить наличие в базе данных определенной таблицы.
Делаю запрос к базе данных для проверки в phpMyAdmin
SHOW TABLES FROM dbase LIKE 'no_table' - Ваш SQL-запрос был успешно выполнен, хотя таблицы no_table - нет.
SHOW TABLES FROM dbase LIKE 'yes_table' - Ошибка, SQL-запрос: SHOW CREATE TABLE `dbase`.`TABLE_NAMES`, #1146 - Table 'dbase.table_names' doesn't exist, хотя таблица yes_table - существует.
При подсчете количества возвращаемых строк при помощи mysql_num_rows выдает 0.
Или может есть другой способ проверки?
 

В помощь.

PHP:
$connect = mysql_pconnect($dbhost, $dbuname, $dbpass); 
if (!$connect) die('Could not connect: ' . mysql_error()); 
@mysql_select_db("$dbname") or die ("Unable to select database"); 
$tables = mysql_list_tables($dbname); 
$num_tables = @mysql_numrows($tables); 
$i = 0; 
$exist = 0; 
while($i < $num_tables) 
{ 
$tablename = mysql_tablename($tables, $i); 
if ($tablename=='table_search') $exist=1; 
$i++; 
}

или выполни
SHOW TABLES like =....

или

SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'databasename'
AND table_name = 'tablename';
 
А для Joomla этот способ подойдет ?
 
Этот код подойдет для всего что работает на mysql
 
Для Joomla я выполнил проверку так:

Код:
if( mysql_num_rows( mysql_query("SHOW TABLES LIKE 'Таблица'")))

и все работает на ура.:ay:
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху