Vérifier l'existence d'une table? [MySQL] - Programmation
Marsh Posté le 14-12-2001 à 19:47:14
update : sortir de la boucle for dès qu'on trouve
// nom de la table recherchée
$nom_table_cherche = "je_sais_pas_moi";
$trouve = false;
// trouver le nom de toutes les tables de ta BD
$result = mysql_list_tables("ma_Base" );
// passer les noms de tables en revue pour trouver la bonne
for($i=0; $i < mysql_num_rows($result); $i++)
{
if(mysql_tablename($result, $i)==$nom_table_cherche)
{
$trouve = true;
break;
}
}
// si $trouve == true alors ta table existe
[edtdd]--Message édité par z0rglub--[/edtdd]
Marsh Posté le 14-12-2001 à 19:48:33
on peut mettre ceci avant une requête dans un fichier.sql
DROP TABLE IF EXISTS ma_table
y a surement moyen de l'utiliser dans ton cas
sinon
$query="SHOW TABLES";
$result= mysql_query($query);
TROUVE= FALSE
while($row= $mysql_fetch_array($result) || !TROUVE){
if ($row[0]=="ma_table" ) TROUVE= TRUE;
}
if (TROUVE) echo "table trouvée";
else echo "table non trouvée";
ou qqch dans le genre..
*** grilled ***
[edtdd]--Message édité par ethernal--[/edtdd]
Marsh Posté le 14-12-2001 à 20:34:19
ethernal utilise la requete MySQL "SHOW TABLES" et moi j'utilise la fonction php qui utilise indirectement la requete MySQL "SHOW TABLES" c'est donc la même chose.
Bonnechance
Marsh Posté le 14-12-2001 à 20:37:23
vi mais moi j'ai jamais testé
je suppose que l'on sait récupérer le résultat de "show tables" (je voulais le faire avec un mysql_fetch_object() mais étant donné que je ne connais pas le nom de la variable qu'il renvoit je suis maron )
Marsh Posté le 14-12-2001 à 18:49:24
Y a-t-il une syntaxe pour vérifier qu'une table existe, avant de tenter une requète dedans?