Another way to check if a table exists:
if(mysql_num_rows(mysql_query("SHOW TABLES LIKE '".$table."'"))==1) echo "Table exists";
else echo "Table does not exist";
(PHP 4, PHP 5)
mysql_tablename — Возвращает имя таблицы, содержащей указанное поле
Данный модуль устарел начиная с версии PHP 5.5.0, и удалён в PHP 7.0.0. Используйте вместо него MySQLi или PDO_MySQL. Смотрите также инструкцию MySQL: выбор API. Альтернативы для этой функции:
SHOW TABLES
Возвращает имя таблицы из result
.
Данная функция устарела. Вместо неё рекомендуется использование
mysql_query() с SQL-запросом
SHOW TABLES [FROM db_name] [LIKE 'pattern']
.
result
Дескриптор результата типа resource, полученный из вызова mysql_list_tables().
i
Целочисленный индекс (номер ряда/таблицы)
Имя таблицы в случае успешного выполнения или false
в случае возникновения ошибки.
Используйте функцию mysql_tablename() для работы с результатом запроса, либо любую другую функцию, способную это делать, например, mysql_fetch_array().
Пример #1 Пример использования mysql_tablename()
<?php
mysql_connect("localhost", "mysql_user", "mysql_password");
$result = mysql_list_tables("mydb");
$num_rows = mysql_num_rows($result);
for ($i = 0; $i < $num_rows; $i++) {
echo "Table: ", mysql_tablename($result, $i), "\n";
}
mysql_free_result($result);
?>
Замечание:
Для определения количества таблиц в результате запроса можно использовать функцию mysql_num_rows().
Another way to check if a table exists:
if(mysql_num_rows(mysql_query("SHOW TABLES LIKE '".$table."'"))==1) echo "Table exists";
else echo "Table does not exist";
A simple function to check for the existance of a table:
function TableExists($tablename, $db) {
// Get a list of tables contained within the database.
$result = mysql_list_tables($db);
$rcount = mysql_num_rows($result);
// Check each in list for a match.
for ($i=0;$i<$rcount;$i++) {
if (mysql_tablename($result, $i)==$tablename) return true;
}
return false;
}