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)
mysql_tablename — Lit le nom de la table qui contient un champ
Description
Lit le nom de la table depuis le jeu de résultats result.
Cette fonction est obsolète. Il est préférable d'utiliser la fonction mysql_query() avec une requête SQL SHOW TABLES [FROM db_name] [LIKE 'pattern'] à la place.
Liste de paramètres
- result
-
Un pointeur de résultats retourné par la fonction mysql_list_tables().
- i
-
L'index (numéro ligne/table)
Valeurs de retour
Le nom de la table en cas de succès ou FALSE si une erreur survient.
Utilisez la fonction mysql_tablename() pour parcourir ce pointeur de résultats, ou n'importe quelle fonction pour les résultats de tables comme la fonction mysql_fetch_array().
Exemples
Exemple #1 Exemple avec 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);
?>
Notes
Note:
La fonction mysql_num_rows() peut être utilisée pour déterminer le nombre de tables dans le pointeur de résultats.
Voir aussi
- mysql_list_tables() - Liste les tables d'une base de données MySQL
- mysql_field_table() - Retourne le nom de la table MySQL où se trouve une colonne
- mysql_db_name() - Récupère le nom de base de données à l'appel de mysql_list_dbs
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;
}
