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";
mysql_tablename
(PHP 4, PHP 5, PECL mysql:1.0)
mysql_tablename — Liefert den Namen einer Tabelle
Beschreibung
string mysql_tablename
( resource $Ergebnis-Kennung
, int $i
)
mysql_tablename() ermittelt aus einer Ergebnis-Kennung, die von mysql_list_tables() geliefert wurde, sowie einem Index vom Typ integer, den Namen der Tabelle. Die Funktion mysql_num_rows() kann verwendet werden, um die Anzahl der Tabellen in der Ergebnis-Kennung zu ermitteln. Benutzen Sie die Funktion mysql_tablename() um diese Ergebnis-Kennung zu durchlaufen, oder irgendeine andere Funktion, die mit Ergebnistabellen umgehen kann, wie zum Beispiel mysql_fetch_array().
Beispiel #1 mysql_tablename() Bespiel
<?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);
?>
?>
Siehe auch mysql_list_tables(), mysql_field_table() und mysql_db_name().
mysql_tablename
Haseldow
23-Apr-2004 05:00
23-Apr-2004 05:00
pl at thinkmetrics dot com
17-Dec-2003 08:00
17-Dec-2003 08:00
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;
}
