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 — Lit le nom de la table qui contient un champ
Cette extension était obsolète en PHP 5.5.0, et a été supprimée en PHP 7.0.0. À la place, vous pouvez utiliser l'extension MySQLi ou l'extension PDO_MySQL. Voir aussi MySQL : choisir une API du guide. Alternatives à cette fonction :
SHOW TABLES
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.
result
Un pointeur de résultats retourné par la fonction mysql_list_tables().
i
L'index (numéro ligne/table)
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().
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);
?>
Note:
La fonction mysql_num_rows() peut être utilisée pour déterminer le nombre de tables dans le pointeur de résultats.
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;
}