[PHP]Problème de boucle

Résolu
nasbe -  
 nasbe -
Salut, je cherche à ajouter dans une table le résultat d'une requête Select, simplement il me rajoute uniquement le premier élément du SELECT et il m'affiche le message d'erreur suivant.


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in d:\nasbe\cours\php\travail diplome\gestion.php on line 135

C'est apparement un problème de boucle, si t'as une solution, elle est la bienvenue.


<?PHP

// Blocage de l'accès à un groupe d'utilisateur

$bd ='gestionacces';
$lien = mysql_pconnect ('localhost', 'root', '');
mysql_select_db($bd);
$table = 'statut';
$table2 = 'appartenance';

//connexion bdd
if ($lien == FALSE){
echo "connexion impossible à la base $bd";
} else {

if (isset ($_POST['bloquageGroupe'])){
if ($lien == FALSE){
echo "connexion impossible à la base $bd";
} else {

$accesGroupe = $_POST['accesGroupe'];
$val3 = $_POST['listeGroupeAcces'];
$bloquer = "bloqué";

if ($accesGroupe == "bloquerGroupe"){
$requeteSelection = "Select NomUtilisateur from $table2 where NomGroupe = '".$val3."'";

$result = mysql_query($requeteSelection)
or die('Requête invalide : ' . mysql_error());

LIGNE 135 : while($resultat = mysql_fetch_array($result))
{
echo '<b>'.$resultat['NomUtilisateur'].' '.'</b>';

$requeteInsertion2 = "INSERT INTO $table";
$requeteInsertion2 .= "(NomUtilisateur, Statut)";
$requeteInsertion2 .= "VALUES";
$requeteInsertion2 .= "(\"".$resultat['NomUtilisateur']."\",\"".$bloquer."\")";

$result = mysql_query($requeteInsertion2)
or die('Requête invalide : ' . mysql_error());
}

}
mysql_query($requeteInsertion2);
mysql_query($requeteSelection);
mysql_close($lien);

}

}

}
?>
A voir également:

2 réponses

Alain42
 
Bonsoir,

LIGNE 135 : while($resultat = mysql_fetch_array($result))
{
echo '<b>'.$resultat['NomUtilisateur'].' '.'</b>';

$requeteInsertion2 = "INSERT INTO $table";
$requeteInsertion2 .= "(NomUtilisateur, Statut)";
$requeteInsertion2 .= "VALUES";
$requeteInsertion2 .= "(\"".$resultat['NomUtilisateur']."\",\"".$bloquer."\")";

$result = mysql_query($requeteInsertion2)
or die('Requête invalide : ' . mysql_error());
}


tu as deux fois $result dont une dans ta boucle while qui fait déja le fetc_array sur $result alors il ne doit pas aimer ça.

mets plutôt
$result2 = mysql_query($requeteInsertion2)....
0
nasbe
 
Décidement Alain

C'est la deuxième ou troisième fois que tu me débloques. Je sais pas comment te remercier, je comprenais pas l'erreur et ca faisait un bout de temps que j'étais dessus.
0