Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result reso

Signaler
-
 tradraza -
bonjour!

voila j'implante mon site sous un serveur Linux et un warning me signal:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/QMM_TANA/personnels.php on line 33

par contre dans un mon serveur local tout marche bien.
A l'aide!

Merci ,

<?php
'<form method="post" action="salle.php" name="salle_form">
        
        [salle.php?func=new Nouveau salle]
        <SELECT name="Num" onchange="salle_form.submit();">
                        <option>--</option>';
        $sql="SELECT Num, Identifiant FROM salle ORDER BY Identifiant;";
        $result=mysql_query($sql);
        while (list($id_champ,$nom_champ)=mysql_fetch_array($result)){
                $selected = ($id_champ==$Num) ? 'selected="selected"' : '' ;
                $output.= '<option value='.$id_champ.' '.$selected.'>'.$nom_cha\
mp.'</option>';
        }
        $output.= '</select>
        </form>'
?>

4 réponses

Messages postés
14799
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
6 juin 2021
155
Bonjour,

Cette erreur peut apparaitre dans 2 cas :
- Ce n'est pas un résultat d'une requête qui est passé en argument
- Il y a une erreur dans ta requête SQL

As-tu essayer la requête en direct dans PhpMyAdmin ?

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
Messages postés
45
Date d'inscription
jeudi 24 juillet 2003
Statut
Membre
Dernière intervention
26 novembre 2012

Bonsoir,

Dans ton code, petit conseil, ajoute une vérification du bon déroulement de ta requête avant d'afficher quoi que ce soit.

De plus, sépare les informations:
Etape 1: requête et construction d'un tableau avec tes données

      
$sql="SELECT Num, Identifiant FROM salle ORDER BY Identifiant;";
 
if ($result=mysql_query($sql))
{
        while ($information = mysql_fetch_array($result)){
           $datas[] = $information;
        }
}


Etape 2: construction de l'affichage.
'<form method="post" action="salle.php" name="salle_form">

        
        [salle.php?func=new Nouveau salle]
        <SELECT name="Num" onchange="salle_form.submit();">
                        <option>--</option>';


           foreach ($datas as $element)
             {
                $selected = '';
                if ($element['Identifiant'] == $Num) $selected = 'SELECTED';
               $output.= '<option value='.$element['Identifiant'].' '.$selected.'>'.$element['Num'].'</option>';
        }
        $output.= '</select>

        </form>'


En espérant t'avoir aidé.
Messages postés
45
Date d'inscription
jeudi 24 juillet 2003
Statut
Membre
Dernière intervention
26 novembre 2012

Correction de l'étape 2:

'<form method="post" action="salle.php" name="salle_form">

        
        [salle.php?func=new Nouveau salle]
        <SELECT name="Num" onchange="salle_form.submit();">
                        <option>--</option>';
        if (isset($datas))
         {
            if (sizeof($datas) > 0)
            {
              foreach ($datas as $element)
               {
                  $selected = '';
                  if ($element['Identifiant'] == $Num) $selected = 'SELECTED';
                 $output.= '<option value='.$element['Identifiant'].' '.$selected.'>'.$element['Num'].'</option>';
                }
            }
         }
        $output.= '</select>

        </form>'
<?php
'<form method="post" action="salle.php" name="salle_form">
?>


Erreur sur cette ligne
Parse error: syntax error, unexpected T_STRING in /var/www/QMM_TANA/salle.php on line ...