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

tradraza - 26 nov. 2012 à 12:28
 tradraza - 27 nov. 2012 à 09:05
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

NHenry
Messages postés
14966
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
9 août 2022
161
26 nov. 2012 à 13:43
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
0
lemouix
Messages postés
45
Date d'inscription
jeudi 24 juillet 2003
Statut
Membre
Dernière intervention
26 novembre 2012

26 nov. 2012 à 17:14
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é.
0
lemouix
Messages postés
45
Date d'inscription
jeudi 24 juillet 2003
Statut
Membre
Dernière intervention
26 novembre 2012

26 nov. 2012 à 17:17
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>'
0
<?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 ...
0