vérifier l'existence d'une table dans une bdd mysql.

vérifier l'existence d'une table dans une bdd mysql. - PHP - Programmation

Marsh Posté le 02-10-2002 à 17:27:09    

tout est dans le titre... C'est possible ?

Reply

Marsh Posté le 02-10-2002 à 17:27:09   

Reply

Marsh Posté le 02-10-2002 à 17:48:05    

LexTuhor a écrit a écrit :

tout est dans le titre... C'est possible ?



parmis les mysql_* il y en a une qui te donne la liste des tables existantes dans une base donnée.
A partir de là, il sufit de chercher si celle que tu cherches fait partie de la liste.
 
JE sais plus quelle est la bonne fonction alors je te laisse la rechercher. (va voir sur www.nexen.net si t'as pas de doc chez toi)

Reply

Marsh Posté le 02-10-2002 à 17:55:21    

Tu peux aussi passer la requête 'SHOW tables', et parcourir le résultat comme si c'était un select.

Reply

Marsh Posté le 02-10-2002 à 18:17:57    

mrbebert a écrit a écrit :

Tu peux aussi passer la requête 'SHOW tables', et parcourir le résultat comme si c'était un select.



Tiens, je la conaissais pas celle là.

Reply

Marsh Posté le 02-10-2002 à 18:24:17    

Je regarde, merci bcp  :jap:

Reply

Marsh Posté le 02-10-2002 à 19:41:36    

Bon, j'en suis là :
 
$sql = "SHOW TABLES FROM ma_bdd";
$req = mysql_query($sql) or die('erreur sql !<br>'.$sql.'<br>'.mysql_error());
 
à partir de là, comment afficher la liste des tables ???
 
J'y arrive po.
 
 :cry:

Reply

Marsh Posté le 02-10-2002 à 19:51:12    

Tu sais parcourir le résutat d'un select avec mysql_fetch_array ?
Ben c'est pareil :)

Reply

Marsh Posté le 02-10-2002 à 19:56:59    

Ben oui, je sais, mais là je dois mettre quoi ???
 
while($data = mysql_fetch_array($req)){
echo $data['table'];
}
 
ça ??
 
ça marche pas  :cry: Comment je peux avoir une chaine de caractère contenant le nom des tables présentes sur la BDD ?
 
De plus, j'ai également essayer ça :
 
$sql = "SHOW TABLES FROM ma_bdd WHERE TABLES=tablerecherchée ";  
$req = mysql_query($sql) or die('erreur sql !<br>'.$sql.'<br>'.mysql_error());  
 
Et ça renvoie une erreur.
 
Bref, je galère bien...
 
Je pourrais aussi chercher une valeur et en cas d'erreur déduire que ma table n'existe pas, mais c'est bourrin et j'aimerais bien REELLEMENT tester l'existence de ma table.
 

Reply

Marsh Posté le 02-10-2002 à 20:06:44    

C'est peut être le nom de la colonne qui va pas. Essaie avec :
while ($data = mysql_fetch_row($req)) {  
 echo $data[0];  
}

Reply

Marsh Posté le 02-10-2002 à 20:08:38    

:love:  :love:  
 
Merci bcp  :)  :bounce:  
 
Je peux continuer à bosser mon script  :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed