Problème de requete sql avec php

Bonsoir tout le monde,

Voici ma requête sql, qui ne marche pas:

$reqUpdateProduit=mysql_query("UPDATE produit SET nomBijoux='.$nomBijoux.',longueur ='.$longueur.',poids='.$poids.',saison='.$saison.',annee1='.$annee1.',annee2='.$annee2.',prixHT='.$prixHT.',descriptionBijoux='.$descriptionBijoux.',
enLigne='.$enLigne.',numType='.$numeroType[0].' WHERE numBijoux='.$numBijoux.'");

Merci pour votre aide.
Configuration: Windows XP
Firefox 3.0.7

16 réponses

  1. Contributeur
    ok,s'il t'affiche que array tout simple,ça veut dire que ton formulaire n'envoie rien!
    1. moi il m'affiche que array??? Je ne comprend pas pourquoi il ne prend pas la valeur lorsque je fais "numeroType[0]".

      Je vais me reposer, j'en ai besoin, après avoir passé 10 heures au taf sur du pl/sql et quelques heures ce soir du php. J'ai besoin de repos.

      bonne soirée, je recommencerai ce soir
      1. Contributeur
        il t'affiche la valeur de ce qui est posté dans type??
        il doit en principe afficher array($_POST['type']=>valeur postée) bref,pour toutes les variables postées c'est qu'il doit faire.
        1. Contributeur
          bon tu poste tes variables??cad tu les envoi via un formulaire?si c'est le cas,met print_r($_POST) en début de script pour voir ce qui est envoyé!
          1. Contributeur
            dis moi,pourquoi tu met un . avant et après chaque variable??
            1. attend!!!!!!!!!!!!!!!!!je crois que je me suis trompé dans le code que je t'ai envoyé, regarde celui là:

              <?php
              Connect();
              // On exécute la requête qui permet d'afficher le type du bijou grâce au numéro du bijou
              //$reqRecupLibType=mysql_query("SELECT libType FROM type WHERE numType='$leNumType'");

              echo "<td>

              <fieldset width='75'>
              <legend align=top><i>Selectionné le type</i></legend>";
              echo "<select name='type[]' STYLE='width:150' size='5'>";

              // Tant que la ligne est pleine on met la valeur dan $type
              while ($type=mysql_fetch_assoc($reqRecupLibType))
              {
              // On met dans la variable "$leLibType" le libelle du bijou
              $leLibType=$type['libType'];
              // On met dans la variable "$leNumType" le numéro du bijou
              $leNumType=$type['numType'];

              echo "<div class='blocCouleur'><div class='colonne'>";

              // On affiche dans une liste déroulante
              echo "<option value ='".$leNumType."' selected>".$leLibType."</option>";
              }

              Connect();

              //On affiche tous les types
              while ($type = mysql_fetch_assoc($reqType))
              {
              $leType = $type['libType'];
              echo "<option value ='".$type['numType']."'> ".$leType." </option>";
              };
              echo "</select>";
              echo "</fieldset>";
              echo "</td>";

              ?>
              1. <?php
                require("fonction.php");
                Connect();

                $sql = mysql_query("SELECT numType, libType FROM type ORDER BY 2");
                echo"<TD align = center>";
                echo"<fieldset STYLE='height:125' width='75'><br/>";

                // création de la légende
                echo "<LEGEND><i><font color=\"#15616E\">Sélectionnez le type du bijou</font></i></LEGEND>";

                // création de la liste déroulante, ne pas oublier le name
                echo "<select name='type[]' STYLE='width:150' size='4'>";

                // Parcourir la requête
                while ($type = mysql_fetch_assoc($sql))
                {
                $leType = $type['libType'];
                echo "<option value ='".$type['numType']."' > " .$leType. " </option>";
                };
                echo "</select>";
                echo "</fiedset>";
                echo"</TD>";
                ?>
                1. Contributeur
                  as tu renseigner le "value" dans la liste déroulante?fais moi voir le code de la liste déroulante!
                  1. justement je ne comprend pas, problème dans la liste déroulante. Dans un premier temps, j'affiche le type du bijou qui correspond au numero du bijou choisi et ensuite dans cette même liste déroulante je veux faire apparaitre toutes les autres types afin que l'utilisateur puisse modifier le type, s'il s'est trompé.
                    1. Contributeur
                      normalement oui,pourquoi il n'y a pas de valeur à cette variable?
                      1. attend j'ai un autre soucis, j'ai une variable de ma requête qui ne possède pas de valeur.

                        Voici mes bouts de code:
                        <TD><font color="white"><B>Type de bijou*</B></font></TD>

                        <?php
                        require("fonction.php");
                        Connect();

                        $sql = mysql_query("SELECT numType, libType FROM type ORDER BY 2");
                        echo"<TD align = center>";
                        echo"<fieldset STYLE='height:125' width='75'><br/>";

                        // création de la légende
                        echo "<LEGEND><i><font color=\"#15616E\">Sélectionnez le type du bijou</font></i></LEGEND>";

                        // création de la liste déroulante, ne pas oublier le name
                        echo "<select name='type[]' STYLE='width:150' size='4'>";

                        // Parcourir la requête
                        while ($type = mysql_fetch_assoc($sql))
                        {
                        $leType = $type['libType'];
                        echo "<option value ='".$type['numType']."' > " .$leType. " </option>";
                        };
                        echo "</select>";
                        echo "</fiedset>";
                        echo"</TD>";
                        ?>

                        $numBijoux=$_SESSION["leNumBijoux"];
                        $nomBijoux=$_POST["nomBijoux"];
                        $numeroType=$_POST["type"];

                        echo '<p>Récapitulatif des données saisies</p>';
                        echo '<ul>';
                        echo '<li>numBijoux:'.$numBijoux.'</li>';
                        echo '<li>nomBijoux:'.$nomBijoux.'</li>';
                        echo '<li>Numero type:'.$numeroType[0].'</li>';

                        Le numeroType[0] ne possède pas de valeur, surement que le problème vient de la parce que j'ai un message qui me dit:

                        Incorrect integer value: '' for column 'numType' at row 1

                        Mais je ne vois pas d'ou cela peut venir???
                        1. Contributeur
                          c'est quelle erreur ça te renvoie?Pour l'autre message,ça veut dire que tu veux modifier la valeur de la clé,or c'est impossible!
                          1. ça ne change rien. J'ai même une phrase en plus qui me dit:

                            Duplicata du champ '2-11' pour la clef 'PRIMARY'

                            Qu'est ce que cela veut dire?

                            Merci
                            1. Contributeur
                              salut!
                              essai ceci:
                              $reqUpdateProduit=mysql_query("UPDATE produit SET nomBijoux='$nomBijoux',longueur ='$longueur',poids='$poids',saison='$saison',annee1='$annee1',annee2='$annee2',prixHT='$prixHT',descriptionBijoux='.$descriptionBijoux.',
                              enLigne='$enLigne',numType='$numeroType[0]' WHERE numBijoux='$numBijoux'");