Page 1 sur 1

Probleme code php verification

Posté : 04 août 2012, 22:10
par toto69
SAlut tout le monde , j'ai un probleme tout petit tout bete mais il me tracasse la tete :o ...c'est horrible !!
$query = "SELECT idDev,nom FROM developpeur WHERE nom = '". mysql_real_escape_string($_POST ['developpeur']) ."'";
				$result = mysql_query($query);
				$toto = mysql_num_rows($result);
				if($toto == 0 )
				{
					$req_dev = "INSERT INTO developpeur(nom) VALUES('" . mysql_real_escape_string($_POST ['developpeur']) . "')";
					$req_dev_ret = mysql_query($req_dev);
					$ID_dev = mysql_insert_id();
				}
				else
				{
					$ID_dev = $toto['idDev']; 
				}
Je veux inserer si elle n'existe pas l'ID de "developpeur" et si elle existe juste la prendre de ma BD et la mettre dans la variable "$ID_dev" !!
Si l'ID n'existe pas cela s'insere tout simplement mais le probleme et que si le nom " developpeur" existe rien ne se passe et aucune variable "$ID_dev" n'est retenu !!
Je sait pas si j'ai ete assez claire ( je pense pas xD ) mais j'ai pas put faire mieux !! :) :D

Voila voila mercii ;)

Re: Probleme code php verification

Posté : 05 août 2012, 09:51
par Ryle
C'est parce que ta variable $toto (ce qui soit dit en passant est pas ce qu'il y a de plus explicite comme nom de variable, mais ça tu le réalisera dans 2 ans quand tu reviendras sur ton code pour le compléter et que tu ne comprendras pas à quoi sert cette fichue variable toto ;)) ...

Bref, ton $toto contient le résultat d'un mysql_num_rows() (donc juste un nombre) et pas le résultat d'un mysql_fetch_* (résultat de ta requête). Du coup lorsque tu utilises $toto['idDev'] tu devrais recevoir un gros message d'avertissement de type "index non défini" :)

Essayes comme ceci :)
if ( $toto = mysql_fetch_assoc($result) ) // test s'il y a au moins un résultat et récupère celui-ci dans $toto
   {
      $ID_dev = $toto['idDev']; 
   }
      else
   {
      $req_dev = "INSERT INTO developpeur(nom) VALUES('" . mysql_real_escape_string($_POST ['developpeur']) . "')";
      $req_dev_ret = mysql_query($req_dev);
      $ID_dev = mysql_insert_id();
   }