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 — Liefert den Namen einer Tabelle
Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen bietet der Ratgeber MySQL: Auswahl einer API. Alternativen zu dieser Funktion umfassen:
SHOW TABLES
Liest den Tabellennamen aus einem Ergebnis (result
).
Diese Funktion ist veraltet. Es wird empfohlen, stattdessen eine
SQL-Abfrage wie SHOW TABLES [FROM db_name] [LIKE
'pattern']
zu verwenden.
result
Ein Ergebniszeiger vom Typ resource, der von mysql_list_tables() zurückgegeben wird.
i
Der Integer-Index (Zeilen-/Tabellennummer).
Gibt bei Erfolg den Tabellennamen zurück. Bei einem Fehler wird false
zurückgegeben.
Verwenden Sie die Funktion mysql_tablename(), um den Ergebniszeiger zu durchlaufen, oder verwenden Sie eine andere Ergebnisfunktion wie mysql_fetch_array().
Beispiel #1 mysql_tablename()-Beispiel
<?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 "Tabelle: ", mysql_tablename($result, $i), "\n";
}
mysql_free_result($result);
?>
Hinweis:
Die Funktion mysql_num_rows() kann verwendet werden, um die Anzahl der Tabellen im Ergebniszeiger zu bestimmen.
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;
}