[PHP]Problème de boucle

Résolu/Fermé
nasbe - 28 sept. 2007 à 22:21
 nasbe - 28 sept. 2007 à 23:27
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

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
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