messages vérif tables exist

messages vérif tables exist - PHP - Programmation

Marsh Posté le 18-03-2015 à 14:01:41    

Bonjour,  
 
Vola je bloque sur un point
Je compte faire une vérification de tables en fonction d'une input de mon formulaires
 
J'ai déjà un bout de code :

Spoiler :


$select = 'SELECT * FROM $Create';
 $result= mysqli_query ($conn, $select);
 if (@@mysqli_num_rows($result) == 0)
 { // Conditions si la table n'existe pas
  echo 'salut';
  mysqli_query ($conn, "CREATE TABLE  $Create ( DaB VARCHAR(30), DaF VARCHAR(30), SAS VARCHAR(30), Site VARCHAR(30))" );
  //mysqli_query ($conn, $sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
 
 }
 else { // Conditions si la table existe déjà en base
echo ' La table existe déjà';
 }


 
mon problème arrive quand la table existe déjà, je veux qu'il m'affiche mon echo mais rien ne ce passe, dans le cas ou cela n'existe pas il m'affiche bien le "salut" et cree la table, mais dans l'autre impossible
Je pense que cela vient de ma gestion de l'erreur mais la je bloque
 
Merci d'avance.

Reply

Marsh Posté le 18-03-2015 à 14:01:41   

Reply

Marsh Posté le 18-03-2015 à 18:54:48    

Pas besoin de faire tout ca en mysql, tu peux préciser directement dans ta requete la condition d'existence.
http://dev.mysql.com/doc/refman/5. [...] table.html
 
tu lances cette requete quelle que soit la situation et ca marche tout seul :
mysqli_query ($conn, "CREATE TABLE IF NOT EXISTS $Create ( DaB VARCHAR(30), DaF VARCHAR(30), SAS VARCHAR(30), Site VARCHAR(30))" );  
 
Pour ta question, ton if (@@mysqli_num_rows($result) == 0) avec tes deux @ n'est pas bon. D'ailleurs tu ne devrais pas cacher l'erreur. Tu peux soit la gerer au cas par cas ( http://stackoverflow.com/questions [...] sqli-query ),
soit tester l'existence d'une erreur de retour ( http://php.net/manual/fr/mysqli-stmt.errno.php)


---------------
We deserve everything that's coming...
Reply

Marsh Posté le 19-03-2015 à 09:49:21    

Je sais gérer les erreurs :)  
 
Mais c'est au moment du traitement que je bloque.
 
en gros je voudrais que sa fasse une arborescence :
 
$select='mon select';
$query =' mysql_query $select
 
if result $query =0  
echo ' la table n'existe pas
else  
echo ' la table existe déjà'
 
mon problème survient au moment de récupérer la valeur de l'erreur je ne sais pas du tout comment faire. ya t'il un moyen de récupérer mon resultat de mysql_error, ou alors de faire mon if dans le mysql_error.
 
Je ne connais pas énormémént cet commande
 
désolé si je suis aussi débutant :sweat: :sweat: :sweat:

Reply

Marsh Posté le 19-03-2015 à 10:06:52    

ahhh c'est bon après avoir fait joujou j'ai réussi !!!!
 
if (!mysqli_select_db( $link, "bdd01" )) {
   echo mysql_errno() . "salut: " . mysql_error(). "\n";
}
 
cela est-il bien ?  

Reply

Marsh Posté le 19-03-2015 à 10:38:20    

tu peux faire directement
mysqli_select_db( $link, "bdd01" )
if (mysql_errno ()) // renvoit autre chose que 0 en cas d'erreur
{
   echo "salut: " . mysql_error(). "\n";
}


Message édité par SICKofitALL le 19-03-2015 à 10:38:42

---------------
We deserve everything that's coming...
Reply

Marsh Posté le 19-03-2015 à 15:35:48    

petite question,
 
Maintenant que j'ai réussi a faire un script propre je pose une question sur un if
 
est-ce bon si je fait
 
mysqli_query ($conn, createtable )
if (mysql_errno ()){ // si la table existe déjà
   un traitement  
 
 
   
   

Reply

Marsh Posté le 19-03-2015 à 17:03:30    

Ben check, mais c'est ce que je t'ai posté plus haut


---------------
We deserve everything that's coming...
Reply

Marsh Posté le 19-03-2015 à 17:18:25    

oui j'ai bien lu ton lien, mais enfaite je ne sais pas si nous pouvons faire une requete dans un or die.

Reply

Marsh Posté le 19-03-2015 à 17:21:34    

ah non c'est bon j'ai trouver comment faire

Reply

Sujets relatifs:

Leave a Replay

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